private void StateMachineClean() { if (null != mCurState) { mCurState.Exit(); mCurState = null; } }
private void EnterState(FileDownloadStateId stateId) { Logger.LogInfo("下载模块进入状态:" + stateId.ToString()); if (null != mCurState) { mCurState.Exit(); } System.Type newStateType = mAllState [(int)stateId]; mCurState = System.Activator.CreateInstance(newStateType) as IDownloadState; mCurState.Init(mData, EnterState, OnFinish, OnError); mCurState.Enter(); }