private void OnTriggerEnter(Collider other) { if (other.CompareTag("Player")) { EventManagerDel.TriggerEvent("Sound Detected"); } }
//Initialize the Finite state machine for the NPC tank protected override void Initialize() { health = 100; elapsedTime = 0.0f; shootRate = .5f; //Get the target enemy(Player) GameObject[] objPlayer = GameObject.FindGameObjectsWithTag("Player"); if (objPlayer.Length > 1) { Debug.LogError("More than one player object tagged"); } playerTransform = objPlayer[0].transform; //Get the rigidbody and nav mesh agent attached to this instance of tank NPC rigidbody = this.GetComponent <Rigidbody>(); navAgent = this.GetComponent <NavMeshAgent>(); if (!playerTransform) { print("Player doesn't exist.. Please add one with Tag named 'Player'"); } //Get the turret of the tank turret = gameObject.transform.GetChild(0).transform; bulletSpawnPoint = turret.GetChild(0).transform; EventManagerDel.StartListening("Sound Detected", delegate { SetTransition(Transition.SawPlayer); } ); //Start Doing the Finite State Machine ConstructFSM(); if (remainHidden) { SetTransition(Transition.WantsToHide); } }
void OnDisable() { EventManagerDel.StopListening("Sound Detected", playerHeard); }
void Start() { EventManagerDel.StartListening("Sound Detected", playerHeard); }