void Update() { switch (seagullState) { case SeagullStates.entering: //add count to game manager seagullState = SeagullStates.active; break; case SeagullStates.active: seagull.transform.Translate(Vector3.forward * speed * Time.deltaTime); distance = Vector3.Distance(seagull.transform.position, shipCentre.transform.position); if (distance > maxDistance) { seagullState = SeagullStates.exiting; } break; case SeagullStates.exiting: //Destroy(this.gameObject); this.gameObject.SetActive(false); EventManager.GetInstance().RemoveTask("Seagull"); //remove from gamemanager thing break; } }
void Awake() { shipCentre = GameObject.FindGameObjectWithTag("ShipCentre"); objectPooler = FindObjectOfType <MultiObjectPool>(); seagullState = SeagullStates.entering; this.transform.LookAt(shipCentre.transform); }