コード例 #1
0
    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);
    }
コード例 #2
0
    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;
        }
    }
コード例 #3
0
    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;
        }
    }
コード例 #4
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
                }
            }
        };
    }
コード例 #5
0
    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;
        }
    }
コード例 #6
0
 public virtual void SentTo(Hat hat, Wuwu wuwu)
 {
 }
コード例 #7
0
 public override void SentTo(Hat hat, Wuwu wuwu)
 {
     Debug.Log(Name + " have been to clothstore to get" + hat);
 }