using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class LighthouseLanding : MonoBehaviour
|
|
{
|
|
public bool switchedOff = false;
|
|
|
|
private bool isTriggering = false;
|
|
|
|
void Awake()
|
|
{
|
|
NotificationServer.register("statechange Searchlight", searchlightStateChanged);
|
|
}
|
|
|
|
void OnTriggerEnter(Collider other)
|
|
{
|
|
if (switchedOff)
|
|
return;
|
|
if (other.tag != "Player")
|
|
return;
|
|
if (Searchlight.state == Searchlight.SearchState.Chasing)
|
|
return;
|
|
if (isTriggering)
|
|
return;
|
|
|
|
isTriggering = true;
|
|
NotificationServer.notify("show TakeoverButton");
|
|
}
|
|
|
|
void OnTriggerExit(Collider other)
|
|
{
|
|
if (switchedOff)
|
|
return;
|
|
if (other.tag != "Player")
|
|
return;
|
|
if (!isTriggering)
|
|
return;
|
|
|
|
isTriggering = false;
|
|
NotificationServer.notify("hide TakeoverButton");
|
|
}
|
|
|
|
void searchlightStateChanged()
|
|
{
|
|
if (switchedOff)
|
|
return;
|
|
if (isTriggering && Searchlight.state == Searchlight.SearchState.Chasing)
|
|
{
|
|
isTriggering = false;
|
|
NotificationServer.notify("hide TakeoverButton");
|
|
}
|
|
}
|
|
|
|
public void switchOff()
|
|
{
|
|
switchedOff = true;
|
|
NotificationServer.notify("hide TakeoverButton");
|
|
NotificationServer.notify("play sfx", "assassination");
|
|
NotificationServer.notify("switch off");
|
|
}
|
|
}
|