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 MapEntityManager(IMapManager mapManager,
                                IMapBattleManager mapBattleManager,
                                IWorldEntityFactory worldEntityFactory,
                                AiEntityManagerFactory aiEntityManagerFactory)
        {
            _mapManager             = mapManager;
            _mapBattleManager       = mapBattleManager;
            _mapManager.GameTick   += OnGameTick;
            _worldEntityFactory     = worldEntityFactory;
            _aiEntityManagerFactory = aiEntityManagerFactory;
            _spawnData = _mapManager.Map.SpawnData;

            Initialize();
        }