public override void OnUpdate() { base.OnUpdate(); if (mCmds.Count > 0) { CommandData data = mCmds[0]; switch (data.cmdType) { case CommandType.Create: _CreateWind(data); break; case CommandType.Delete: _DeleteWind(data); break; case CommandType.Hide: _HideWind(data); break; case CommandType.Show: if (GetWindow(data.uiName) == null) { CommandData createCmd = CommandData.CreateCreate(data.uiName, data.createFun, data.param, data.callback); createCmd.isCallBack = false; mCmds.RemoveAt(0); mCmds.Insert(0, createCmd); return; } _ShowWindow(data); break; case CommandType.HideList: _HideList(data); break; } mCmds.RemoveAt(0); } }