public void MengmengComeOn(ref MengMeng meng, ref Wupeng wupeng) { if (wupeng.state != State_Wupeng.Sleep) { meng.timer += Time.deltaTime; if (meng.timer > (1.0f / (float)meng.attackSpeed)) { meng.timer = 0.0f; meng.count += 1; if (meng.count % 2 == 0) { Debug.Log("meng打鼓加buff,wupeng获得 " + meng.attackAdd + " 点攻击增益"); wupeng.attack += meng.attackAdd; wupeng.buff += meng.attackAdd; } } } if (wupeng.state == State_Wupeng.Sleep) { wupeng.attack -= wupeng.buff; wupeng.buff = 0; } }
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; } }
void Start() { //work01 wupeng = new Wupeng() { enegy = 0, attack = 8, state = State_Wupeng.Eat, timer = 0.0f, buff = 0 }; //work02 doudou = new Doudou() { name = "DouDou", hp = 1000 }; //work04 zz = new ZZ() { name = "zz", recover = 5, timer = 0.0f, state = State_ZZ.Prepare, count = 0, buff = 0 }; //work06 wuwu = new Wuwu() { name = "wuwu", recoverAdd = 1, recoverSpeed = 3, timer = 0.0f }; //work07 meng = new MengMeng() { name = "meng", attackAdd = 1, attackSpeed = 4, timer = 0.0f, count = 0 }; //work08 tlight = new TrafficLight() { state = State_TrafficLight.Yellow, green_last = 2.0f, red_last = 3.0f, yello_last = 1.5f, timer = 0.0f, yellow = imgYellow, green = imgGreen, red = imgRed }; //work09 timer = new Timer() { timer = 0.0f }; //work10 rocket = new Rocket() { image = imgRocket, speed = 2f, state = State_Rocket.counting, lunchDevice = new LunchDevice() { countdown_Prepare = new Timer() { timer = 10.0f, temper = 10.0f }, countdown_lunch = new Timer() { timer = 2.0f, temper = 2.0f } } }; }
public void WupengUpdate(ref Wupeng wupeng, ref ZZ zz, ref Doudou doudou, ref Wuwu wuwu, ref MengMeng meng) { WupengUpdate(ref wupeng, ref doudou); ZZRecoverDoudou(ref wupeng, ref zz, ref doudou); WuwuComeOn(ref zz, ref wuwu); MengmengComeOn(ref meng, ref wupeng); }