bool DefineTypeCondition(BulletController.BulletType bulletType) { if (controller is NumberController) { return(!NumberHelper.HasDamage(bulletType, controller.GetNumber())); } else { return(!TriangleHelper.HasDamage(bulletType, controller.GetNumber())); } }
void throwBullet(BulletController.BulletType type) { var now = Time.time; if (now > nextFire) { nextFire = now + fireRate; var direction = facingRight ? Vector3.zero : Vector3.back; var banana = bullet.transform.Find("banana"); var bc = bullet.GetComponent <BulletController>(); banana.GetComponent <SpriteRenderer>().sprite = bc.GetSprite(type); Instantiate(bullet, bulletSpawn.position, Quaternion.Euler(direction)); } }
public static bool HasDamage(BulletController.BulletType bulletType, int number) { switch (bulletType) { case BulletController.BulletType.EVEN: return(IsEven(number)); case BulletController.BulletType.DIVISIBLE_3: return(IsDivisible3(number)); case BulletController.BulletType.PRIME: return(IsPrime(number)); default: return(false); } }
public void AddDamage(float damage, BulletController.BulletType bulletType) { if (!NumberHelper.HasDamage(bulletType, nc.GetNumber())) { // Make any penalty here damage *= -1; onlyRightShots = false; } currentHealth = Math.Min(currentHealth - damage, enemyMaxHealth); enemySlider.gameObject.SetActive(true); enemySlider.value = currentHealth; if (currentHealth <= 0) { MakeDead(); } else { nc.UpdateNumber(); } }
protected void Shoot(Vector3 target, BulletController.BulletType type) { if (primaryCooldown > 0) { primaryCooldown -= Time.deltaTime; return; } GameObject bulletObj = Instantiate(bullet); bulletObj.transform.position = transform.position; bulletObj.GetComponent <BulletController>().bulletType = type; bulletObj.GetComponent <SpriteRenderer>().color = color; Vector3 dir = new Vector3(target.x, target.y, 0) - (transform.position + new Vector3(Random.Range(-accuracyOffset, accuracyOffset), Random.Range(-accuracyOffset, accuracyOffset), 0)); bulletObj.transform.up = dir; primaryCooldown = primaryCooldownTimer; }
public void AddDamage(float damage, BulletController.BulletType bulletType) { bool condition = DefineTypeCondition(bulletType); if (condition) { damage *= -1; onlyRightShots = false; feedbackMessage.ShowMessage(); } currentHealth = Math.Min(currentHealth - damage, enemyMaxHealth); enemySlider.gameObject.SetActive(true); enemySlider.value = currentHealth; if (currentHealth <= 0) { MakeDead(); } else { controller.UpdateValue(); } }
public static bool HasDamage(BulletController.BulletType bulletType, int number) { return(number == (int)bulletType); }