コード例 #1
0
    IEnumerator speedDisable()
    {
        float countDown = speedPowerupTimeOut;

        lastPower    = currentPower;
        currentPower = powerType.none;
        while (countDown > 0f)
        {
            currentSpeedTime += Time.deltaTime;
            speedButton.gameObject.GetComponent <Image>().fillAmount = 1 - currentSpeedTime / speedPowerupTimeOut;

            yield return(new WaitForEndOfFrame());

            countDown -= Time.deltaTime;
        }

        //yield return new WaitForSeconds(speedPowerupTimeOut);
        ballControl.speedMultiplier = 1;
        lastPower        = powerType.none;
        currentSpeedTime = 0;

        if (reserveBomb)
        {
            ReloadBomb();
            reserveBomb = false;
        }
        if (reserveSpeed)
        {
            ReloadSpeed();
            reserveSpeed = false;
        }
        //speedButton.interactable = true;
    }
コード例 #2
0
 public void bombPowerUp()
 {
     if (currentPower == powerType.none)
     {
         currentPower            = powerType.bomb;
         bombButton.interactable = false;
     }
 }
コード例 #3
0
 public void speedPowerUp()
 {
     if (currentPower == powerType.none)
     {
         currentPower             = powerType.speed;
         speedButton.interactable = false;
     }
 }
コード例 #4
0
ファイル: PowerUp.cs プロジェクト: gixorian/Defend-the-Hex
    public void activatePowerUp(powerType power)
    {
        if (power == powerType.bulletCountUp)
        {
            for (int i = 0; i < balls.Length; i++)
            {
                if (balls[i].bulletSpawnTime > balls[i].minBulletSpawnTime)
                {
                    balls [i].bulletSpawnTime -= 0.1f;
                }
            }
        }
        else if (power == powerType.bulletDamageUp)
        {
            for (int i = 0; i < balls.Length; i++)
            {
                if (balls[i].bulletDamage < balls[i].maxBulletDamage)
                {
                    balls [i].bulletDamage++;
                }
            }
        }
        else if (power == powerType.bulletSpeedUp)
        {
            for (int i = 0; i < balls.Length; i++)
            {
                if (balls [i].bulletSpeed < balls [i].maxBulletSpeed)
                {
                    balls [i].bulletSpeed += 0.1f;
                }
            }
        }
        else if (power == powerType.bulletHealthUp)
        {
            for (int i = 0; i < balls.Length; i++)
            {
                if (balls [i].bulletHealth < balls [i].maxBulletHealth)
                {
                    balls [i].bulletHealth++;
                }
            }
        }
        else if (power == powerType.rotationSpeedUp)
        {
            if (gameController.rotationSpeed < gameController.maxRotationSpeed)
            {
                gameController.rotationSpeed += 0.1f;
            }
        }

        Destroy(this.gameObject);
    }
コード例 #5
0
ファイル: PowerUp.cs プロジェクト: JosueLimaG/Refriega
    public void Init(powerType pow)
    {
        Instantiate(Resources.Load <GameObject>(pow.ToString()), transform.position, Quaternion.identity, transform);
        transform.tag  = pow.ToString();
        transform.name = tag;

        if (pow == powerType.Gravity)
        {
            rb.useGravity = false;
            inverse       = true;
        }

        Destroy(this.gameObject, 15);
    }
コード例 #6
0
        public Power(powerType type, string name, int value, string effect) : base(name)
        {
            this.type   = type;
            this.value  = value;
            this.effect = effect;

            switch (type)
            {
            case powerType.Урон:
                cost = value * 10f;
                break;

            case powerType.Защита:
                cost = value * 37f;
                break;

            case powerType.Характеристики:
                cost = value * 20f;
                break;
            }
        }
コード例 #7
0
ファイル: PowerUp.cs プロジェクト: kozupi/--
 public PowerUp(Game game, Vector3 position, powerType type)
     : base(game)
 {
     addComponent(new Spatial(game, this, position));
     getComponent<Spatial>().transform = Matrix.CreateScale(20.0f) * Matrix.CreateTranslation(position);
     if (type == powerType.ammo)
     {
         addComponent(new Drawable3D(game, this, Game.Content.Load<Model>(@"models\Ammo Refill")));
         getComponent<Spatial>().transform = Matrix.CreateScale(20.0f) * Matrix.CreateRotationZ((float)Math.PI / 2) * Matrix.CreateTranslation(position);
     }
     else if (type == powerType.ring)
     {
         getComponent<Spatial>().transform = Matrix.CreateScale(25.0f) * Matrix.CreateRotationX((float)Math.PI/2) * Matrix.CreateTranslation(position);
         addComponent(new Drawable3D(game, this, Game.Content.Load<Model>(@"Models\Ring2")));
     }
     else
     {
         addComponent(new Drawable3D(game, this, Game.Content.Load<Model>(@"models\NewGameWorld")));
     }
     addComponent(new Collidable(game, this, CollisionType.powerUp, onHit, 1, 0));
     this.type = type;
     powerUpManager.addPowerUp(this);
 }
コード例 #8
0
 public void Kaboom()
 {
     bombButton.gameObject.GetComponent <Image>().fillAmount = 0;
     currentPower = powerType.none;
 }
コード例 #9
0
    void SpawnItem(powerType item, bool inverse)
    {
        GameObject temp = Instantiate(_power, new Vector3(Random.Range(-8, 8), inverse ? -5.85f : 5.85f, 0), Quaternion.identity);

        temp.GetComponent <PowerUp>().Init(item);
    }