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; }
public void bombPowerUp() { if (currentPower == powerType.none) { currentPower = powerType.bomb; bombButton.interactable = false; } }
public void speedPowerUp() { if (currentPower == powerType.none) { currentPower = powerType.speed; speedButton.interactable = false; } }
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); }
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); }
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; } }
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); }
public void Kaboom() { bombButton.gameObject.GetComponent <Image>().fillAmount = 0; currentPower = powerType.none; }
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); }