コード例 #1
0
    /**
     * Apply random bonus to player
     */
    public void Apply(PlayerRobot p, int bonusType)
    {
        if (isActive)
        {
            return;
        }

        _player = p;
        this.EnableBonus();
        switch (bonusType)
        {
        case LIFE_BONUS:
            applicator = new LifeBonus();
            applicator.Apply(_player);
            Level.DisplayAnnounce("Life!");
            Invoke("DisableBonus", applicator.duration);
            break;

        case SHIELD_BONUS:
            applicator = new ShieldBonus();
            applicator.Apply(_player);
            Level.DisplayAnnounce("Shield!");
            Invoke("DisableBonus", applicator.duration);
            break;

        case INVINCIBILITY_BONUS:
            applicator = new InvincibilityBonus();
            applicator.Apply(_player);
            Level.DisplayAnnounce("Invincibility!");
            Invoke("DisableBonus", applicator.duration);
            break;
        }
    }