public BattleState(BattleConfiguration configuration) { _configuration = configuration; _random = new IntRandom(0); _tick = 0; _prevTick = 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(); }
public BattleEngineProcessor(BattleConfiguration configuration, BattleCommandsProvider commandsProvider) { _configuration = configuration; _commandMap = new Dictionary <Type, BattleEngineCommand>(); foreach (var item in commandsProvider.commands) { map(item.actionType, item); } }
public BattleActionQueue(BattleConfiguration configuration) { _configuration = configuration; _queue = new PriorityQueueComparable <BattleAction>(); }