Example #1
0
        public void RestoreFromJSON(JSONNode commandsJSON)
        {
            if ((commandsJSON?.Count ?? 0) == 0)
            {
                return;
            }
            _commands.Clear();
            foreach (JSONClass commandJSON in commandsJSON.AsArray)
            {
                ICustomCommand action;
                var            commandType = commandJSON["__type"];
                switch (commandType)
                {
                case DebugCommand.Type:
                    action = new DebugCommand();
                    break;

                case DiscreteTriggerCommand.Type:
                    action = new DiscreteTriggerCommand(_containingAtom, _prefabManager);
                    break;

                default:
                    SuperController.LogError($"Keybindings: Unknown command type {commandType}");
                    continue;
                }

                action.RestoreFromJSON(commandJSON);
                _commands.Add(action);
            }
        }
Example #2
0
        public ICustomCommand AddDiscreteTrigger()
        {
            var command = new DiscreteTriggerCommand(_containingAtom, _prefabManager);

            _commands.Add(command);
            onChange.Invoke();
            return(command);
        }