// Start is called before the first frame update void Start() { Speed = 5; Health = 5; BulletPowerUp = PowerUp.BulletPowerUp.None; PlayerPowerUp = PowerUp.PlayerPowerUp.None; InstantiateHealthbar(); Debug.Log("Game started."); transform.position = new Vector2(0, -4); Score = 0; // Iterate over powerup enum and map each prefab with each powerup int i = 0; foreach (BulletType bullet in BulletType.GetValues(typeof(PowerUp.BulletPowerUp))) { if (i >= bulletPrefabs.Count) { break; } bulletMap.Add(bullet, bulletPrefabs[i]); i++; } }
void SpawnPlayerPowerUp(PowerUp.PlayerPowerUp powerUpType) { GameObject powerUpGameObject = SpawnVerticalObject(playerPowerUpMap[powerUpType]); PowerUp powerUp = powerUpGameObject.GetComponent <PowerUp>(); powerUp.Speed = -1; powerUp.PlayerPower = powerUpType; powerUp.AffectsPlayer = true; }
// For when the enemy collides with player ship, private void OnTriggerEnter2D(Collider2D other) { // When player collides with enemy ship if (other.tag == "Enemy") { Health--; } // When player collides with enemy shot if (other.tag == "EnemyShot") { Health -= other.GetComponent <Bullet>().Damage; Debug.Log("health is now " + Health); } // When player collides with a power up block if (other.tag == "PowerUp") { PowerUp powerUpObj = other.GetComponent <PowerUp>(); if (!powerUpObj.AffectsPlayer) { BulletPowerUp = powerUpObj.BulletPower; } else { if (powerUpObj.PlayerPower == PowerUp.PlayerPowerUp.Health) { Health++; UpdateHealthBar(); } else { PlayerPowerUp = powerUpObj.PlayerPower; UpdatePlayerStats(); } } Debug.Log(BulletPowerUp + " " + PlayerPowerUp); } UpdateHealthBar(); Destroy(other.gameObject); }