public void SateMachine(ref Doudou doudou, ref Zz zz, ref WuWu wuwu, ref MengMeng meng) { CurrentTime += Time.deltaTime; //Debug.Log(CurrentTime); switch (state) { case Wupeng.State.Eating: meng.StateMachine(ref this); if (CurrentTime - 3f >= 0) { CurrentTime = 0; Energy = 100; state = Wupeng.State.Beating; Debug.Log("Wupeng is Beating"); } break; case Wupeng.State.Beating: meng.StateMachine(ref this); if (CurrentTime - 1f >= 0) { CurrentTime = 0; Energy -= 10; doudou.HP -= Atk; Debug.Log("doudou.HP is " + doudou.HP); Debug.Log("Wupeng.Energy is " + Energy); if (Energy <= 0) { state = Wupeng.State.Sleeping; Debug.Log("Wupeng is Sleeping"); } } break; case Wupeng.State.Sleeping: Atk = Base_Atk; zz.SateMachine(ref doudou, ref wuwu); if (CurrentTime - 5f >= 0) { CurrentTime = 0; state = Wupeng.State.Eating; Debug.Log("Wupeng is Eating"); } break; } }
public void SateMachine(ref Doudou doudou, ref WuWu wuwu) { CurrentTime += Time.deltaTime; switch (state) { case Zz.State.Preparing: wuwu.StateMachine(ref this); if (CurrentTime >= 1f) { CurrentTime = 0; state = Zz.State.Healing; Debug.Log("zz is Healing"); } break; case Zz.State.Healing: wuwu.StateMachine(ref this); if (CurrentTime > HealingTime) { HealingTime++; doudou.HP += Heal; Heal = Base_Heal; Debug.Log("doudou.Hp is" + doudou.HP); } if (CurrentTime >= 2f) { CurrentTime = 0; HealingTime = 1f; state = Zz.State.Removing; Debug.Log("zz is Removing"); } break; case Zz.State.Removing: if (CurrentTime >= 1f) { CurrentTime = 0; state = Zz.State.Preparing; Debug.Log("zz is Preparing"); } break; } }