//trigger detection for enemy ships and coins. void OnTriggerEnter2D(Collider2D col) { if (col.tag == "UpgradeCoin") { //Debug.Log ("Trigger Collision: " + col.tag); CoinValue value = col.gameObject.GetComponent <CoinValue> (); PlayerStatsManager.SetPlayerScore(value.GetCoinValue()); value.PassUpgradeValue(); Destroy(col.gameObject); } if (col.tag == "Enemy Ship" || col.tag == "EliteEnemyShip") { PlayerStatsManager.SetPlayerHealth(-enemyCollisionDamage); EnemyAI collide = col.gameObject.GetComponent <EnemyAI> (); if (col.tag == "EliteEnemyShip") { collide.SetDamage(5f); } else { collide.SetDamage(100f); } hurtSound.Play(); } }
//Spawn player on death if there are lives left. private void Spawn() { if (PlayerStatsManager.GetPlayerLives() > 0f) { Vector2 startPos = new Vector2(-5.3f, 0f); transform.position = startPos; PlayerStatsManager.SetPlayerHealth(maxHealth); PlayerStatsManager.SetUpgradePoints(-10f); } else { PlayerStatsManager.SetCanSpawn(false); SceneManager.LoadScene("game_over"); Destroy(gameObject); } }
// sends damage to player stat manager. Positive number decreases health. public void SetDamage(float damage) { PlayerStatsManager.SetPlayerHealth(damage * -1f); }