public void Prepare() { _controllerFactor = new BombsFactory(_prefabsPoolingService); MainSceneConfig sceneConfig = _configStorage.Get <MainSceneConfig>(); _bombIds = sceneConfig.BombIds; float totalRarity = 0; foreach (int bombId in _bombIds) { totalRarity += _configStorage.Get <BombConfig>(bombId).Rarity; } float currentRarity = 0; _bombsRarity = new Dictionary <float, int>(_bombIds.Length); foreach (int bombId in _bombIds) { _bombsRarity[currentRarity] = bombId; currentRarity += _configStorage.Get <BombConfig>(bombId).Rarity / totalRarity; } _maxCount = sceneConfig.MaxBombs; _spawnTimeout = sceneConfig.BombSpawnTimeout; _spawnArea = sceneConfig.BombSpawnArea; }
public void Prepare() { _charControllerFactory = new CharacterFactory(_prefabsPoolingService); MainSceneConfig sceneConfig = _configStorage.Get <MainSceneConfig>(); _characterIds = sceneConfig.CharacterIds; _spawnTimeout = sceneConfig.CharsSpawnTimeout; _maxChars = sceneConfig.MaxChars; _charSpawnArea = sceneConfig.CharSpawnArea; }