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(); } }
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)); } }
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)); } }
public QueueTurn(UnityAction unityAction, Coroutines.condition condition) { this.condition = condition; this.unityAction = unityAction; }