示例#1
0
        public void addAction(UnityAction action, Coroutines.condition condition = null, int order = -1, float time = 0.1f)
        {
            UnityAction unityAction = () =>
            {
                if (action != null)
                {
                    action();
                }

                BattleControll.battleControll.StartCoroutine(coroutines.conditionCoroutine(condition, NextQueueStep, time));
            };

            if (order == -1)
            {
                BattleQueue.Add(unityAction);
            }
            else
            {
                BattleQueue.Insert(order, unityAction);
            }
            if (BattleQueue.Count == 1)
            {
                ActionNow = BattleQueue[0];
                BattleQueue[0].Invoke();
            }
        }
示例#2
0
 public void addMyNextQueue(UnityAction action, Coroutines.condition condition = null, int order = -1)
 {
     if (order == -1)
     {
         MyturnQueue.Add(new QueueTurn(action, condition));
     }
     else
     {
         MyturnQueue.Insert(order, new QueueTurn(action, condition));
     }
 }
示例#3
0
 public void addNextQueue(UnityAction action, Coroutines.condition condition = null, int order = -1)
 {
     if (order == -1)
     {
         NextTurnQueue.Add(new QueueTurn(action, condition));
     }
     else if (order == -2)
     {
         action.Invoke();
     }
     else
     {
         NextTurnQueue.Insert(order, new QueueTurn(action, condition));
     }
 }
示例#4
0
 public QueueTurn(UnityAction unityAction, Coroutines.condition condition)
 {
     this.condition   = condition;
     this.unityAction = unityAction;
 }