예제 #1
0
파일: StateCom.cs 프로젝트: zhaorui56/Tools
    // 设置状态
    public bool SetState(int iID)
    {
        //Debug.Log(gameObject.name + " SetState " + iID);
        if (_iStateID > -1)
        {
            // 设置事件结束
            STUState stuold = (STUState)(_stateDic[_iStateID]);
            if (stuold.EndFun != null)
            {
                ((Action)(stuold.EndFun))();
            }
            //if(stuold.StartFun != null)
            //{
            //}
        }
        _pause = false;
        STUState stu = (STUState)(_stateDic[iID]);

        _oldStateID = _iStateID;
        _iStateID   = iID;
        _updateFun  = stu.UpdateFun;
        if (stu.StartFun != null)
        {
            ((Action)(stu.StartFun))();
        }
        else
        {
            Debug.LogError("Error state ID :" + iID + " is NULL " + gameObject.name);
            return(false);
        }
        return(true);
    }
예제 #2
0
파일: StateCom.cs 프로젝트: zhaorui56/Tools
    public void OutputInfo()
    {
        STUState stuold = (STUState)(_stateDic[_iStateID]);

        Debug.Log("StateID = " + _iStateID + "  Update null? " + (stuold.UpdateFun == null) + "  _updateFun = " + (_updateFun == null) + " HashNum = " + _stateDic.Count);
    }