示例#1
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;
            }
        }
示例#2
0
        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;
            }
        }