Пример #1
0
    int PowerupPicker()
    {
        PowerUp_Manager manager = FindObjectOfType <PowerUp_Manager>();

        float totalSpawnrate = 0;

        for (int i = 0; i < manager.powerUps.Length; i++)
        {
            totalSpawnrate += manager.powerUps[i].spawnRate;
        }

        float randomSpawn = Random.Range(0f, totalSpawnrate);

        float[] spawnRates = new float[manager.powerUps.Length];
        for (int i = 0; i < spawnRates.Length; i++)
        {
            for (int j = 0; j <= i; j++)
            {
                spawnRates[i] += manager.powerUps[j].spawnRate;
            }
        }


        for (int i = 0; i < spawnRates.Length; i++)
        {
            if (spawnRates[i] > randomSpawn)
            {
                return(i);
            }
        }

        return(5);
    }
Пример #2
0
 public void DrawGameScreen(SpriteBatch spriteBatch)
 {
     Asteroid_Manager.Draw(spriteBatch);
     PowerUp_Manager.Draw(spriteBatch);
     Ship_Manager.Draw(spriteBatch);
     Projectile_Manager.Draw(spriteBatch);
     Explosions.Draw(spriteBatch);
     HUD.Draw(spriteBatch);
 }
Пример #3
0
        public void UpdateGameScreen(GameTime gameTime, bool otherScreenHasFocus)
        {
            if (otherScreenHasFocus)
            {
                return;
            }

            Collision_Manager.Update(gameTime);
            Asteroid_Manager.Update(gameTime);
            Ship_Manager.Update(gameTime);
            Projectile_Manager.Update(gameTime);
            PowerUp_Manager.Update(gameTime);
            Explosions.Update(gameTime);
            GameOver_Manager.Update(gameTime);
        }