Exemplo n.º 1
0
        public WorldState(IRepository <Map> mapRepo,
                          IWorldEntityFactory worldEntityFactory,
                          AiEntityManagerFactory aiEntityManagerFactory,
                          BattleManagerFactory battleManagerFactory)
        {
            _mapRepo                = mapRepo;
            _worldEntityFactory     = worldEntityFactory;
            _aiEntityManagerFactory = aiEntityManagerFactory;
            _battleManagerFactory   = battleManagerFactory;
            var maps = mapRepo.GetDataAsync().Result;

            var temp = new Dictionary <int, MapManager>();
            var mapBattleManagers = new Dictionary <int, IMapBattleManager>();
            var entityManagers    = new Dictionary <int, MapEntityManager>();

            foreach (var map in maps)
            {
                var mapManager = new MapManager(map);
                temp.Add(map.Id, mapManager);
                var mapBattleManager = new MapBattleManager(_battleManagerFactory);
                entityManagers.Add(map.Id, new MapEntityManager(mapManager,
                                                                mapBattleManager,
                                                                _worldEntityFactory,
                                                                _aiEntityManagerFactory));

                mapBattleManagers.Add(map.Id, mapBattleManager);
            }
            MapManagers       = temp;
            MapBattleManagers = mapBattleManagers;
            MapEntityManagers = entityManagers;
        }
Exemplo n.º 2
0
 public MapBattleManager(BattleManagerFactory battleManagerFactory)
 {
     _battleManagerFactory = battleManagerFactory;
     _battleManagers       = new Dictionary <string, IBattleManager>();
     _aiBattleManagers     = new Dictionary <int, IBattleManager>();
     _uniqueBattleManagers = new List <IBattleManager>();
 }