Esempio n. 1
0
    //取得可用的小雞物件
    private GameObject GetChickenObject()
    {
        GameObject result;

        if (GetIdleChicken != null) //若事件內容不為空
        {
            IdleChickenEventArgs _eventArgs = new IdleChickenEventArgs();
            GetIdleChicken.Invoke(this, _eventArgs);

            if (_eventArgs.idleChickenObject != null) //有取得閒置中的小雞物件
            {
                result = _eventArgs.idleChickenObject;

                return(result);
            }
        }

        result = Instantiate(chickenPrefab, parentHolder);         //找不到閒置中的小雞時, 創建一隻新的

        ChickenMove _moving = result.GetComponent <ChickenMove>(); //取得腳本

        _moving.Initialize(this);                                  //小雞行為初始化

        return(result);
    }
Esempio n. 2
0
 //回傳閒置狀態
 public void ReturnIdleState(object sender, IdleChickenEventArgs eventArgs)
 {
     if (!isIdling)
     {
         return;            //非閒置狀態, 結束程序
     }
     if (eventArgs.idleChickenObject != null)
     {
         return;                                      //已有閒置小雞存在時, 結束程序
     }
     eventArgs.idleChickenObject = this.gameObject;
 }