Beispiel #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;
        }
 public WorldEntityManager(IWorldEntityFactory worldEntityFactory,
                           PlayerEntityManagerFactory playerEntityManagerFactory,
                           IWorldState worldState)
 {
     _worldEntityFactory         = worldEntityFactory;
     _playerEntityManagerFactory = playerEntityManagerFactory;
     _worldState           = worldState;
     _worldEntities        = new ConcurrentDictionary <Guid, WorldEntity>();
     _playerEntityManagers = new ConcurrentDictionary <Guid, PlayerEntityManager>();
     _combatEntities       = new List <CombatEntity>();
 }
        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();
        }