Ejemplo n.º 1
0
 public BattleState(BattleConfiguration configuration)
 {
     _configuration = configuration;
     _random        = new IntRandom(0);
     _tick          = 0;
     _prevTick      = 0;
 }
Ejemplo n.º 2
0
        public BattleEngine(BattleConfiguration config)
        {
            _configuration = config;

            _context = new BattleContext();
            _context._configuration = _configuration;
            _context._battleEngine  = this;

            _state        = new BattleState(_configuration);
            _actionQueue  = new BattleActionQueue(_configuration);
            _processor    = new BattleEngineProcessor(_configuration, new BattleCommands());
            _actionEngine = new BattleActionEngine(_actionQueue);
            _actors       = new BattleActors(this);
            _players      = new BattlePlayers(_configuration, this);
            _output       = new BattleOutput();
            _modules      = new BattleModulesProcessor(_context, new BattleModules());

            _context._actors  = _actors;
            _context._state   = _state;
            _context._players = _players;
            _context._output  = _output;

            _actionEngine.enqueue(new BattleStartAction());

            foreach (var action in config.actions)
            {
                _actionEngine.enqueue(action);
            }
        }
        public BattlePlayers(BattleConfiguration configuration, BattleEngine battleEngine)
        {
            _configuration = configuration;
            _battleEngine  = battleEngine;

            _map       = new Dictionary <int, BattlePlayer>();
            _players   = new Vector <BattlePlayer>();
            _npcPlayer = new BattleNPCPlayer(configuration.npcPlayer);
            initialize();
        }
Ejemplo n.º 4
0
        public BattleEngineProcessor(BattleConfiguration configuration, BattleCommandsProvider commandsProvider)
        {
            _configuration = configuration;
            _commandMap    = new Dictionary <Type, BattleEngineCommand>();

            foreach (var item in commandsProvider.commands)
            {
                map(item.actionType, item);
            }
        }
Ejemplo n.º 5
0
 public BattleActionQueue(BattleConfiguration configuration)
 {
     _configuration = configuration;
     _queue         = new PriorityQueueComparable <BattleAction>();
 }