public void changeTo(string name, params object[] parameters) { if (GSTest.GSDEBUG) { GSLogTool.wFormat("GSStateM.changeTo", "name:{0} parameters:{1}", name, parameters); } else { GSLogTool.dFormat("GSStateM.changeTo", "name:{0} parameters:{1}", name, parameters); } if (!mStates.ContainsKey(name)) { GSLogTool.eFormat("GSStateM.changeTo", "name:{} not exit", name); return; } if (mCurState != null) { mCurState.onExit(); } mCurState = mStates[name]; mCurState.onEnter(parameters); }