void Start() { Time.timeScale = 0; _startGame.SetActive(true); _timerObj = new Timer(_levelDuration); _fieldObj = new Field(_land, _sea); _fieldObj.Init(); _seaEnemyObj = new SeaEnemy(_seaEnemy, _fieldObj); _seaEnemies.Add(_seaEnemyObj); _seaEnemyObj.InitSeaEnemies(_seaEnemies); _playerObj = new PlayerCtrl(_playerInLand, _playerInSea, _fieldObj, _track, _seaEnemies); _seaEnemyObj.Init(_playerObj); _landEnemyObj = new LandEnemy(_landEnemy, _fieldObj, _playerObj); _nextLevelObj = new NextLevel(_nextLevel, _fieldObj); _info = new InfoCtrl(_score, _lvl, _xn, _full, _time, _fieldObj, _seaEnemyObj, _playerObj, _timerObj); _gameOverObj = new GameOver(_gameOver, _playerObj, _seaEnemyObj, _seaEnemies, _landEnemyObj, _timerObj); }
public GameOver(GameObject panel, PlayerCtrl player, SeaEnemy seaEnemy, List <SeaEnemy> seaEnemies, LandEnemy landEnemy, Timer timer) { _panel = panel; _player = player; _seaEnemy = seaEnemy; _seaEnemies = seaEnemies; _landEnemy = landEnemy; _timer = timer; }
public InfoCtrl(GameObject score, GameObject lvl, GameObject xn, GameObject full, GameObject time, Field field, SeaEnemy seaEnemy, PlayerCtrl player, Timer timer) { _field = field; _player = player; _seaEnemy = seaEnemy; _score = score; _lvl = lvl; _xn = xn; _full = full; _time = time; _timer = timer; Init(); }
public void ClosePanel() { if (_gameOver.activeSelf) { if (_playerObj.GetCountLives() > 0) { _fieldObj.DeleteTrack(); _gameOverObj.ClosePanel(); _playerObj.Destroy(); _playerObj.Init(); _playerObj.UpdateSelfCrosed(); _landEnemyObj.Destroy(); _landEnemyObj.Init(); _timerObj.UpdateTime(); } else { _gameOverObj.ClosePanel(); _fieldObj.Destroy(); _fieldObj.Init(); _fieldObj.FillTrackArea(_seaEnemies); _playerObj.Destroy(); _playerObj.Init(); _playerObj.UpdateSelfCrosed(); _playerObj.SetCountLives(3); _landEnemyObj.Destroy(); _landEnemyObj.Init(); for (int i = _seaEnemies.Count - 1; i >= 0; i--) { _seaEnemies[i].IsHitTrackOrXonix(); if (_seaEnemies.Count > 1) { _seaEnemies[i].Destroy(); _seaEnemies.RemoveAt(i); } } _timerObj.UpdateTime(); _fieldObj.SetScore(0); } } if (_nextLevel.activeSelf) { _fieldObj.Destroy(); _fieldObj.Init(); _fieldObj.FillTrackArea(_seaEnemies); _playerObj.Destroy(); _playerObj.Init(); _playerObj.AddCountLives(1); _landEnemyObj.Destroy(); _landEnemyObj.Init(); SeaEnemy seaEnemyObj = new SeaEnemy(_seaEnemy, _fieldObj); _seaEnemies.Add(seaEnemyObj); foreach (SeaEnemy seaEnemy in _seaEnemies) { seaEnemy.Destroy(); seaEnemy.Init(_playerObj); } _nextLevelObj.ClosePanel(); _timerObj.UpdateTime(); } }