Ejemplo n.º 1
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         EventManagerDel.TriggerEvent("Sound Detected");
     }
 }
Ejemplo n.º 2
0
    //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);
        }
    }
Ejemplo n.º 3
0
 void OnDisable()
 {
     EventManagerDel.StopListening("Sound Detected", playerHeard);
 }
Ejemplo n.º 4
0
 void Start()
 {
     EventManagerDel.StartListening("Sound Detected", playerHeard);
 }