void GameOverProcess() { if (!_gameOverProcessStarted) { if (isServer) { Googlegameserver.Addacheivement(GPGSIds.achievement_finish_first_battle); GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject obj in enemies) { ChrController chrCtrl = obj.GetComponent <ChrController>(); if (chrCtrl != null && !chrCtrl._isDead) { chrCtrl.Death(false); } } GameObject[] allies = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject obj in allies) { ChrController chrCtrl = obj.GetComponent <ChrController>(); if (chrCtrl != null && !chrCtrl._isDead && chrCtrl.chrControllerType == ChrController.ChrControllerTypes.AI_NPC) { chrCtrl.Death(false); } } if (_score > _highScore) { _highScore = _score; Rpc_DisplayScore(); } _gameOverProcessStarted = true; Rpc_RoundEnd(); if (_gameOver) { Googlegameserver.Addacheivement(GPGSIds.achievement_first_death); } else if (_gameWin) { Googlegameserver.Addacheivement(GPGSIds.achievement_win_your_first_battle); } } } else { GameRestart(); } }
//public void HeroDied() //{ // _numHeroes--; // if (_numHeroes == 0 && _spectorMode) // _gameOver = true; // else if (_numHeroes == -1 && !_spectorMode) // _gameOver = true; //} public void EnemyDied() { if (!isServer) { return; } if (!_gameOver && !_gameWin) { if (--_numEnemies <= 0) { SyncGameWin(true); } _score += 10; Googlegameserver.Addacheivement(GPGSIds.achievement_kill_the_first_enemy); Googlegameserver.OnAddScoreToLeaderBorad(_score * 10); } }
public void ClockUpdate() { if (isServer && _roundStarted) { Googlegameserver.Addacheivement(GPGSIds.achievement_start_the_game); if (_ClockCurrent <= 0) { if (!_gameOver && !_gameWin) { _gameOver = true; } } else { _ClockCurrent--; } Rpc_ClockUpdate(); Rpc_DisplayScore(); } }