private void Awake()
 {
     if (!instance)
     {
         instance = this;
     }
     else
     {
         Destroy(this.gameObject);
     }
 }
Beispiel #2
0
    private void OnKilled()
    {
        EnemyInfo enemyInfo = EnemiesInfo.GetInfoFromName(Name);

        if (enemyInfo != null)
        {
            foreach (EItem item in enemyInfo.RandomLoot())
            {
                SpawnManager.Instance.SpawnLoot(item, transform.position);
            }
        }

        RequestDestroy();
    }
Beispiel #3
0
 /// <summary>
 /// Starts actuall game.
 /// </summary>
 public static void Startgame()
 {
     //Application.LoadLevel("Stage_1");
     SceneManager.LoadScene("Stage_1");
     Spawner.tanksForThisLevel = EnemiesInfo.GetWhichTanksToSpawn(1);
     // If its second time player plays, these settings are to avoid bugs.
     playerSpawnTimeStamp = Time.time;
     EnemyAIv2.isFrozen   = false;
     currentLevel++;
     uiManager.ResetingTanksUI();
     enemiesLeft     = 20;
     score           = 0;
     levelScore      = 0;
     playerLifesLeft = 3;
 }
Beispiel #4
0
 /// <summary>
 /// Switches between levels.
 /// </summary>
 /// <param name="_isItVictory">Is it victory?</param>
 public static void SwitchLevel(bool _isItVictory)
 {
     if (!isScoreShown && currentLevel != 0)
     {
         score += levelScore;
         //Application.LoadLevel("Score");
         SceneManager.LoadScene("Score");
         isNextLevelReady       = false;
         isScoreShown           = true;
         UIManager.scoreBeganAt = Time.time;
         UIManager.sceneType    = "Score";
         mainSoundManager.SRCbackgroundNoise.Stop();
     }
     if (isNextLevelReady || currentLevel == 0)
     {
         if (_isItVictory)
         {
             if (currentLevel == 35)
             {
                 currentLevel    = 0;
                 isGameRepeating = true;
             }
             //Application.LoadLevel("Stage_" + ++currentLevel);
             SceneManager.LoadScene("Stage_" + ++currentLevel);
             if (!isGameRepeating)
             {
                 Spawner.tanksForThisLevel = EnemiesInfo.GetWhichTanksToSpawn(currentLevel);
             }
             else
             {
                 Spawner.tanksForThisLevel = EnemiesInfo.GetWhichTanksToSpawn(35); // last levels tank set.
             }
             isPlayerOnAMap       = false;
             playerSpawnTimeStamp = Time.time;
             EnemyAIv2.isFrozen   = false;
             uiManager.ResetingTanksUI();
             isGameOver = 0;
             PlayerController.areShotsBeingFired[0] = false;
             PlayerController.areShotsBeingFired[1] = false;
             enemiesLeft = 20;
             SoundManager.isBackgroundNoiseActive = true;
             //            mainSoundManager.SRCbackgroundNoise.Stop();
             isBaseProtected = false;
             if (currentLevel - 1 > 0)
             {
                 mainSoundManager.SRCbackgroundNoise.Play();
             }
         }
         else
         {
             //Application.LoadLevel(0);
             SceneManager.LoadScene(0);
             currentLevel = 0;
             if (highScore < score)
             {
                 highScore = score;
             }
             isGameOver      = 0;
             playerLifesLeft = 3;
             playersLevel    = 0;
             PlayerController.controllsEnabled = true;
         }
         isNextLevelReady = false;
         isScoreShown     = false;
         levelScore       = 0;
     }
 }