コード例 #1
0
    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;
        }
    }
コード例 #2
0
 void Awake()
 {
     shipCentre   = GameObject.FindGameObjectWithTag("ShipCentre");
     objectPooler = FindObjectOfType <MultiObjectPool>();
     seagullState = SeagullStates.entering;
     this.transform.LookAt(shipCentre.transform);
 }