// Use this for initialization void Start() { growingSTATUS = GrowingSTATUS.empty; waterLevel = gameObject.GetComponent <waterLevel>(); waterLevel.isPlanting = true; //鎖定種植後加水才會增加水量 hp = eggplant.hp; //獲得VegetableDetail_Static裡面pumpkin的生命值 countMatureTime(); }
// Update is called once per frame void Update() { if (isPlanting) //種植之後才會計算距離當階段成熟前的剩餘秒數 { remainingSeconds_toString = matureTime.Subtract(DateTime.Now).Duration().ToString(); plantingTime_toString = plantingTime.ToString(); //把種植當下時間列出來 matureTime_toString = matureTime.ToString(); hp += waterLevel.water - water; //每秒增加的水量加上目前的hp值 hp -= Time.deltaTime / eggplant.hpPerS; //每秒扣一部份的hp } if (hp <= 0) //判定血量<=0,執行死亡 { changeStatus = true; growingSTATUS = GrowingSTATUS.Growing_Die; isPlanting = false; remainingSeconds_toString = "已死亡!"; } water = waterLevel.water; //判斷當前狀態,並執行要做的事情 switch (growingSTATUS) { case GrowingSTATUS.empty: if (water >= 3) { isPlanting = true; if (DateTime.Compare(DateTime.Now, matureTime) > 0) //若現在時間超過當階段成熟時間,改變stutas至下一個階段 { growingSTATUS = GrowingSTATUS.Growing_01; countMatureTime(); changeStatus = true; //允許改變status } } break; case GrowingSTATUS.Growing_01: if (changeStatus) //如果允許改變stutas,執行PumpkinGrowing_01 ();,並不允許改變stutas { EggplantGrowing_01(); changeStatus = false; } if (DateTime.Compare(DateTime.Now, matureTime) > 0) //若現在時間超過當階段成熟時間,改變stutas至下一個階段 { growingSTATUS = GrowingSTATUS.Growing_02; countMatureTime(); changeStatus = true; } break; case GrowingSTATUS.Growing_02: if (changeStatus) { EggplantGrowing_02(); changeStatus = false; } if (DateTime.Compare(DateTime.Now, matureTime) > 0) //現在時間超過成熟時間 { growingSTATUS = GrowingSTATUS.Growing_03; countMatureTime(); changeStatus = true; } break; case GrowingSTATUS.Growing_03: if (changeStatus) { EggplantGrowing_03(); changeStatus = false; } if (DateTime.Compare(DateTime.Now, matureTime) > 0) //現在時間超過成熟時間 { growingSTATUS = GrowingSTATUS.Growing_04; countMatureTime(); changeStatus = true; } break; case GrowingSTATUS.Growing_04: if (changeStatus) { EggplantGrowing_04(); changeStatus = false; } if (DateTime.Compare(DateTime.Now, matureTime) > 0) //現在時間超過成熟時間 { remainingSeconds_toString = "已成熟!"; } break; case GrowingSTATUS.Growing_Die: if (changeStatus) { EggplantGrowing_die(); changeStatus = false; } break; } }