public PlainCommand(object model, MethodInfo execute, PropertyInfo?canExecute, CommandContainer container)
 {
     CommandContainer = container;
     _model           = model;
     _execute         = execute;
     _canExecutep     = canExecute;
     if (_canExecutep != null)
     {
         _functionName = _canExecutep.Name;
     }
     HookUpNotifiers();
 }
 public PlainCommand(object model, MethodInfo execute, MethodInfo canExecuteM, CommandContainer container)
 {
     CommandContainer = container;
     _model           = model;
     _execute         = execute;
     _canExecuteM     = canExecuteM;
     if (_canExecuteM != null)
     {
         _functionName = canExecuteM.Name;
     }
     HookUpNotifiers();
 }
 public BasicGameCommand(IBasicEnableProcess model, MethodInfo execute, PropertyInfo?canExecute, CommandContainer container)
 {
     CommandContainer = container;
     _model           = model;
     _execute         = execute;
     _canExecutep     = canExecute;
     if (_canExecutep != null)
     {
         _functionName = _canExecutep.Name;
     }
     HookUpNotifiers();
 }
 public BasicGameCommand(IBasicEnableProcess model, MethodInfo execute, MethodInfo canExecuteM, CommandContainer container)
 {
     CommandContainer = container;
     _model           = model;
     _execute         = execute;
     _canExecuteM     = canExecuteM;
     if (_canExecuteM != null)
     {
         _functionName = canExecuteM.Name;
     }
     HookUpNotifiers();
 }
 public LimitedGameCommand(IBasicEnableProcess model, MethodInfo execute, MethodInfo canExecuteM, CommandContainer container) : base(model, execute, canExecuteM, container)
 {
     BusyCategory = EnumCommandBusyCategory.Limited;
 }
 } = "";                                        //the purpose of this is so it can search and get the proper command.
 public BoardCommand(object model, MethodInfo execute, CommandContainer container, string name) : base(model, execute, canExecuteM: null !, container)
 protected override void AddCommand()
 {
     CommandContainer.AddOpen(this);
 }
 public OpenCommand(object model, MethodInfo execute, PropertyInfo?canExecute, CommandContainer container) : base(model, execute, canExecute, container)
 {
 }
 public OpenCommand(object model, MethodInfo execute, MethodInfo canExecuteM, CommandContainer container) : base(model, execute, canExecuteM, container)
 {
 }