public void StartLevel(LevelData levelData) { _blocks = new List <Block>(); _levelData = levelData; _setLevelNameSignal.Fire(levelData.LevelName); _headQuarter = _hqPool.Spawn(); _headQuarter.transform.position = levelData.HqPosition; _playerSpewnPoint = levelData.PlayerSpawnVector3; GetMapFromTexture(_levelData.LevelGeometry); _mapData = new MapData(_levelData.LevelGeometry); _collidedWithBlockSignal += onCollidedWithBlock; _enemySpawnController = new EnemySpawnController(); _enemySpawnController.Init(15, levelData.EnemySpawnPoints, _enemyPool, _mapData); _player = _playerPool.Spawn(); _player.Player.Position = _playerSpewnPoint; _player.Player.LifesCount = 3; _enemySpawnController.InitialSpawnAtStart(); EnemyTankCount tankCount = new EnemyTankCount(); tankCount.AllTanksCount = _enemySpawnController.UnitsCount; tankCount.InGameTanksCount = _killedTankCount; _setPlayerLifesSignal.Fire(_player.Player.LifesCount); _setEnemyTankCountSignal.Fire(tankCount); SendTankCountInfo(); }
private void SendTankCountInfo() { EnemyTankCount tankCount = new EnemyTankCount(); tankCount.AllTanksCount = _enemySpawnController.UnitsCount; tankCount.InGameTanksCount = _killedTankCount; _setEnemyTankCountSignal.Fire(tankCount); }
private void OnTankCountSet(EnemyTankCount tankCount) { if (_iconList.Count == 0) { for (int i = 0; i < tankCount.AllTanksCount; i++) { var image = _tankIconPool.Spawn(); image.SetBlankIcon(); image.transform.SetParent(_enemyTnaksWidgetView.IconHolder.transform); _iconList.Add(image); } } else { for (int i = 0; i < tankCount.InGameTanksCount; i++) { _iconList[i].ChangeIconToFill(); } } }