// 设置状态 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); }
public void OutputInfo() { STUState stuold = (STUState)(_stateDic[_iStateID]); Debug.Log("StateID = " + _iStateID + " Update null? " + (stuold.UpdateFun == null) + " _updateFun = " + (_updateFun == null) + " HashNum = " + _stateDic.Count); }