Пример #1
0
 private void ActionMgrExcuteHandler(object[] args)
 {
     if (args != null && args.Length > 0)
     {
         if (GetContext.GoalbalID != Convert.ToInt32(args[0]))
         {
             return;
         }
         isExecuteState = false;
         currAction     = args[1] as IActionHandler <ActionTag>;
         if (preAction == null)
         {
             //直接执行CurrAction内容
             if (currAction != null)
             {
                 currAction.Enter(GetContext, () => { isExecuteState = true; });
             }
         }
         else
         {
             //有之前执行的动作不能直接执行
             //需要先进行退出之前的Handle
             //在载入之后的新Handle
             preAction.Exit(GetContext, () =>
             {
                 currAction.Enter(GetContext, () =>
                 {
                     preAction      = currAction;
                     isExecuteState = true;
                 });
             });
         }
     }
 }
Пример #2
0
 public void InvokeEnter()
 {
     updateCnt  = 0;
     isUpdating = true;
     handler.Enter(this);
 }