Пример #1
0
 private void BindDefend()
 {
     _actions.Player.Defend.performed += ctx =>
     {
         var command = new PlayerCommand(_player, _ball, _playerController.GetRigidbody(), _playerController.GetTransform());
         if (_player.InBlockPosition)
         {
             var handler = new BlockCommandHandler();
             handler.HandleImmediate(command);
         }
         else
         {
             var handler = new DefendCommandHandler();
             handler.HandleImmediate(command);
         }
     };
 }
Пример #2
0
            public BlockCommand(List <CommandParameter> parameters)
            {
                parameters = new List <CommandParameter>(parameters);
                PreParseCommands(parameters);

                Trace("Command Handler Post Parsed Command Parameters: ");
                parameters.ForEach(param => Trace("" + param.GetType()));
                foreach (BlockCommandHandler handler in GetHandlers())
                {
                    if (handler.canHandle(parameters))
                    {
                        commandHandler   = handler;
                        commandHandler.b = blockHandler;
                        commandHandler.e = entityProvider;
                        return;
                    }
                }

                parameters.ForEach(param => Debug("" + param.GetType()));
                throw new Exception("Unsupported Command Parameter Combination");
            }
Пример #3
0
 public BlockCommand(BlockHandler blockHandler, EntityProvider entityProvider, BlockCommandHandler commandHandler)
 {
     this.blockHandler   = blockHandler;
     this.entityProvider = entityProvider;
     this.commandHandler = commandHandler;
 }