private void ExpirationTokenTimer(Object source, ElapsedEventArgs e) { Zz.WriteServer(new Command { Cmd = ServerCommands.Logout, Json = SerializerAsync.SerializeJson("Token expired").Result }); ZZApiMain.RemoveUserConnection(LoginResultDto.Username); }
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 void StateMachine(ref Zz zz) { CurrentTime += Time.deltaTime; if (CurrentTime >= HealAddTime) { HealAddTime += 1.0f / 3.0f; zz.Heal += HealAdd; Debug.Log("zz.Heal is" + zz.Heal); } }
public void HealAdding(ref Zz zz)//成员函数?所以声明函数和struct这些都是没有先后顺序的? { CurrentTime += Time.deltaTime; if (CurrentTime >= HealAddTime) { zz.Heal += HealAdd; CurrentTime = 0.0f; Debug.Log("zz.Heal rises to" + zz.Heal); } }
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 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; } }