コード例 #1
0
ファイル: PowerupSpawner.cs プロジェクト: fullerga/Dodge
 void SpawnPowerup()
 {
     SpawnPowerupProbability probability;
     if (HealthBar.HasFullHealth())
         probability = new SpawnPowerupProbability
         {
             FasterEnemy = 0.3F,
             Health = 0,
             PlayerReverse = 0.3F,
             Invincible = 0.1F,
             SlowerEnemy = 0.3F
         };
     else if (HealthBar.HasLowHealth())
         probability = new SpawnPowerupProbability
         {
             FasterEnemy = 0.2F,
             Health = 0.25F,
             PlayerReverse = 0.2F,
             Invincible = 0.15F,
             SlowerEnemy = 0.2F
         };
     else
         probability = new SpawnPowerupProbability
         {
             FasterEnemy = 0.25F,
             Health = 0.15F,
             PlayerReverse = 0.25F,
             Invincible = 0.1F,
             SlowerEnemy = 0.25F
         };
     SpawnWithProbability(probability);
 }
コード例 #2
0
ファイル: PowerupSpawner.cs プロジェクト: fullerga/Dodge
 string GetPowerupResourcePath(SpawnPowerupProbability p)
 {
     var random = Random.value;
     if (random <= p.FasterEnemy)
         return "Powerups/FasterEnemyPowerup";
     if (random <= p.FasterEnemy + p.Health)
         return "Powerups/HealthPowerup";
     if (random <= p.FasterEnemy + p.Health + p.Invincible)
         return "Powerups/InvinciblePowerup";
     if (random <= p.FasterEnemy + p.Health + p.Invincible + p.PlayerReverse)
         return "Powerups/ReversePowerup";
     return "Powerups/SlowerEnemyPowerup";
 }
コード例 #3
0
ファイル: PowerupSpawner.cs プロジェクト: fullerga/Dodge
    void SpawnPowerup()
    {
        SpawnPowerupProbability probability;

        if (HealthBar.HasFullHealth())
        {
            probability = new SpawnPowerupProbability
            {
                FasterEnemy   = 0.3F,
                Health        = 0,
                PlayerReverse = 0.3F,
                Invincible    = 0.1F,
                SlowerEnemy   = 0.3F
            }
        }
        ;
        else if (HealthBar.HasLowHealth())
        {
            probability = new SpawnPowerupProbability
            {
                FasterEnemy   = 0.2F,
                Health        = 0.25F,
                PlayerReverse = 0.2F,
                Invincible    = 0.15F,
                SlowerEnemy   = 0.2F
            }
        }
        ;
        else
        {
            probability = new SpawnPowerupProbability
            {
                FasterEnemy   = 0.25F,
                Health        = 0.15F,
                PlayerReverse = 0.25F,
                Invincible    = 0.1F,
                SlowerEnemy   = 0.25F
            }
        };
        SpawnWithProbability(probability);
    }

    void SpawnWithProbability(SpawnPowerupProbability probability)
    {
        var powerupPath = GetPowerupResourcePath(probability);
        var pos         = new Vector2(Random.value, Random.value);

        pos = Camera.main.ViewportToWorldPoint(pos);
        var powerup = Instantiate(Resources.Load(powerupPath), pos, Quaternion.identity);

        ActivePowerups.Add(powerup);
    }

    string GetPowerupResourcePath(SpawnPowerupProbability p)
    {
        var random = Random.value;

        if (random <= p.FasterEnemy)
        {
            return("Powerups/FasterEnemyPowerup");
        }
        if (random <= p.FasterEnemy + p.Health)
        {
            return("Powerups/HealthPowerup");
        }
        if (random <= p.FasterEnemy + p.Health + p.Invincible)
        {
            return("Powerups/InvinciblePowerup");
        }
        if (random <= p.FasterEnemy + p.Health + p.Invincible + p.PlayerReverse)
        {
            return("Powerups/ReversePowerup");
        }
        return("Powerups/SlowerEnemyPowerup");
    }
コード例 #4
0
ファイル: PowerupSpawner.cs プロジェクト: fullerga/Dodge
 void SpawnWithProbability(SpawnPowerupProbability probability)
 {
     var powerupPath = GetPowerupResourcePath(probability);
     var pos = new Vector2(Random.value, Random.value);
     pos = Camera.main.ViewportToWorldPoint(pos);
     var powerup = Instantiate(Resources.Load(powerupPath), pos, Quaternion.identity);
     ActivePowerups.Add(powerup);
 }