Esempio n. 1
0
    /// <summary>
    /// 调用的不同状态
    /// </summary>
    public int Act(eStateName nowState)
    {
        //Debug.Log(times);
        ////切换状态刷新次数
        if (this.nowState != nowState)
        {
            times = maxTimes;
            SetState(nowState);
        }

        //根据枚举类型设置状态
        if (nowState == eStateName.Nomal)
        {
            return(SetAct(state[0].stateName, state[gifNum].state[1], state[gifNum].state[2]));
        }
        else
        {
            for (int i = 0; i < state.Count; i++)
            {
                if (state[i].stateName == nowState + 1)
                {
                    SetAct(state[i].stateName - 1, state[i].state[1], state[i].state[2]);
                }
            }
        }
        return(0);
    }
Esempio n. 2
0
    /// <summary>
    /// 状态的切换
    /// </summary>
    int SetAct(eStateName type, Object state1, Object state2)
    {
        t += Time.deltaTime;
        if (t - lastTime >= interval)
        {
            switch (actTimes)
            {
            case 0:
                playerLook.overrideSprite = state1 as Sprite;
                actTimes = 1;
                break;

            case 1:
                playerLook.overrideSprite = state2 as Sprite;
                actTimes = 0;
                //设置正常状态gif个数
                if (gifNum == 0)
                {
                    gifNum = 1;
                }
                else
                {
                    gifNum = 0;
                }
                break;
            }
            lastTime = t;
            return(TimesLower(type));
        }
        return(0);
    }
Esempio n. 3
0
 /// <summary>
 /// 判断是否切换次数耗尽
 /// </summary>
 int TimesLower(eStateName type)
 {
     if (type == eStateName.Amaze || type == eStateName.Happy)
     {
         times--;
         if (times <= 0)
         {
             times = maxTimes;
             return(1);//反回1代表次数刷新过重回普通状态
         }
     }
     return(0);
 }
Esempio n. 4
0
 /// <summary>
 /// 设置状态
 /// </summary>
 void SetState(eStateName nowState)
 {
     this.nowState = nowState;
 }