Example #1
0
        public static void ExecuteAction(GameActionBase action)
        {
            // allow changing data value
            _readyToAction = true;

            action.Execute(state);

            // unallow changing data value
            _readyToAction = false;

            // register executed action into history
            instance.historyActionQ.Enqueue(action);

            // keep hisotry count under max histroy count
            while (instance.historyActionQ.Count > instance.maxHistoryActionCount)
            {
                instance.historyActionQ.Dequeue();
            }

            EditorUtility.SetDirty(instance);
        }
Example #2
0
 public static void ScheduleAction(GameActionBase action)
 {
     instance.reservatedActionQ.Enqueue(action);
 }