public void WupengUpdate(ref Wupeng wupeng, ref ZZ zz, ref Doudou doudou, ref Wuwu wuwu) { WupengUpdate(ref wupeng, ref doudou); ZZRecoverDoudou(ref wupeng, ref zz, ref doudou); WuwuComeOn(ref zz, ref wuwu); }
void Healing(ref Zz zz, ref Wuwu wuwu, ref Doudou doudou) { switch (zz.CurrentStats) { case Zz.Stats.Prepare: { wuwu.HealAdding(ref zz); zz.CurrentTime += Time.deltaTime; if (zz.CurrentTime >= 1.0f) { zz.CurrentStats = Zz.Stats.Heal; zz.CurrentTime = 0.0f; Debug.Log("zz starts Healing doudou"); } } break; case Zz.Stats.Heal: { wuwu.HealAdding(ref zz); zz.CurrentTime += Time.deltaTime; zz.HealingTime += Time.deltaTime; if (zz.HealingTime >= 1.0f) { doudou.HP += zz.Heal; zz.HealingTime = 0.0f; Debug.Log("After healing, Doudou.HP is" + doudou.HP); } if (zz.CurrentTime >= 2.0f) { zz.CurrentStats = Zz.Stats.Remove; zz.CurrentTime = 0.0f; Debug.Log("zz starts Removing"); } } break; case Zz.Stats.Remove: if (zz.CurrentTime >= 1f) { zz.CurrentStats = Zz.Stats.Prepare; zz.CurrentTime = 0.0f; Debug.Log("zz starts Preparing"); } break; } }
public void WuwuComeOn(ref ZZ zz, ref Wuwu wuwu) { if (zz.state == State_ZZ.Prepare && zz.state == State_ZZ.ReCover) { wuwu.timer += Time.deltaTime; if (wuwu.timer > 1.0f / (float)wuwu.recoverSpeed) { zz.recover += wuwu.recoverAdd; zz.buff += wuwu.recoverSpeed * wuwu.recoverAdd; Debug.Log("wuwu加油1次,zz获得 " + wuwu.recoverAdd + " 点治疗增益"); wuwu.timer = 0.0f; } } if (zz.state == State_ZZ.End) { zz.recover -= zz.buff; zz.buff = 0; } }
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 } } }; }
void EatingSleepingBeatingDoudou(ref Wupeng wupeng, ref Doudou doudou, ref Zz zz, ref Wuwu wuwu, ref Mengmeng mengmeng) { switch (wupeng.CurrentStats) { case Wupeng.Stats.Eat: { wupeng.CurrentTime += Time.deltaTime; mengmeng.AtkAdding(ref wupeng); //问:大于和等于的时间应该是不一样的?第二遍开始不再debug吴鹏开始打豆豆了。为什么? if (wupeng.CurrentTime > 3.0f) { wupeng.Nrg = 100f; wupeng.CurrentStats = Wupeng.Stats.Beat; wupeng.CurrentTime = 0.0f; Debug.Log("wupeng starts beating doudou"); } } break; case Wupeng.Stats.Beat: { wupeng.CurrentTime += Time.deltaTime; mengmeng.AtkAdding(ref wupeng); if (wupeng.CurrentTime > 1.0f) { wupeng.Nrg -= 10; doudou.HP -= wupeng.Atk; Debug.Log("Wupeng.Energy drops to " + wupeng.Nrg); Debug.Log("doudou.HP drops to" + doudou.HP); wupeng.CurrentTime = 0.0f; if (wupeng.Nrg < 0.0f) { wupeng.CurrentStats = Wupeng.Stats.Sleep; wupeng.CurrentTime = 0.0f; wupeng.Atk = wupeng.AtkBase; Debug.Log("Wupeng.Atk returns to" + wupeng.Atk); Debug.Log("Wupeng starts sleeping"); } } } break; case Wupeng.Stats.Sleep: { wupeng.CurrentTime += Time.deltaTime; Healing(ref zz, ref wuwu, ref doudou); if (wupeng.CurrentTime >= 5.0f) { zz.Heal = zz.HealBase; Debug.Log("zz.Heal returns to" + zz.Heal); wupeng.CurrentStats = Wupeng.Stats.Eat; wupeng.CurrentTime = 0.0f; Debug.Log("Wupeng starts eating"); } } break; } }
public virtual void SentTo(Hat hat, Wuwu wuwu) { }
public override void SentTo(Hat hat, Wuwu wuwu) { Debug.Log(Name + " have been to clothstore to get" + hat); }