static void Main(string[] args) { CommandsManager.onMessage += Console.WriteLine; CommandsManager.onExceptionThrown += exception => Console.WriteLine(exception.Message); Configuration configuration = new Configuration(true, "Test", "CommandSystem-Unity"); manager = new CommandsManager(configuration); manager.LoadCommands(); Func <float, float, float> action = (a, b) => { if (a > b) { return(a); } else { return(b); } }; manager.Add(command = new FuncCommand <float, float, float>(action)); manager.Add(command = new FuncCommand <float[], float>(Max)); manager.Add(command = new FuncCommand <int[], float>(Max)); Console.WriteLine(manager.Execute("Max \"(int[])2 3\"")); }
public InputViewModel(CommandsManager _commandsManager) { this._commandsManager = _commandsManager; _commandsManager.LoadCommands(); _input = String.Empty; ExecuteCommand = new RelayCommand(Execute); PreviousCommand = new RelayCommand(() => SelectedIndex = SelectedIndex == 0 ? 0 : SelectedIndex - 1); NextCommand = new RelayCommand(() => SelectedIndex = SelectedIndex == Results.Count - 1 ? Results.Count - 1 : SelectedIndex + 1); ChainCommand = new RelayCommand(FindSubCommands); UnchainCommand = new RelayCommand(Unchain); CommandsChain = new ObservableCollection <Command>(); }
CommandsManager CreateCommandsManager() { CommandsManager.onExceptionThrown += OnCommandSystemExceptionThrown; CommandsManager.onMessage += OnCommandSystemMessage; Configuration configuration = new Configuration( Application.platform != RuntimePlatform.WebGLPlayer, "Assembly-CSharp-firstpass", "Assembly-CSharp" ); CommandsManager commandsManager = new CommandsManager(configuration); commandsManager.LoadCommands(); new BuiltInCommandsBuilder(commandsManager).Build(); return(commandsManager); }