// Update is called once per frame void Update() { if (immunity == false) //Immunity is so that the player doesn't immediately die upon entering the game, and after each death can have something of a respawn timeframe { for (int i = 0; i < crabs.Count; i++) { //Debug.Log(crabs[i]); ///Collisions between crabs and the player if (detection.AABBCollision(crabs[i], player)) { eScript = crabs[i].GetComponent <EnemyMovement>(); eScript.position = new Vector3(-200, -200, 0); eScript.velocity = Vector3.zero; sScript.playerPosition = Vector3.zero; spawner.spawnedHazards--; immunity = true; gui.lives--; isColliding = true; break; } else { playerRender.color = Color.white; isColliding = false; } } ///Collsions between bullets and crabs for (int i = 0; i < crabs.Count; i++) { for (int j = 0; j < bullets.Count; j++) { if (detection.AABBCollision(crabs[i], bullets[j])) { eScript = crabs[i].GetComponent <EnemyMovement>(); bScript = bullets[j].GetComponent <BulletMovement>(); spawner.smallerPosition = eScript.position; spawner.smallerVelocity = eScript.velocity; eScript.position = new Vector3(-200, -200, 0); bScript.bulletPosition = new Vector3(200, 200, 0); eScript.velocity = Vector3.zero; bScript.velocity = Vector3.zero; gui.points += 20; spawner.spawnedHazards--; isBulletColliding = true; break; } } } ///Collisions between smaller hazards and player for (int i = 0; i < smallHazards.Count; i++) { if (detection.AABBCollision(smallHazards[i], player)) { eScript = smallHazards[i].GetComponent <EnemyMovement>(); eScript.position = new Vector3(-200, -200, 0); eScript.velocity = Vector3.zero; sScript.playerPosition = Vector3.zero; immunity = true; gui.lives--; isColliding = true; break; } else { isColliding = false; } } ///Collisions between smaller hazards and bullets for (int i = 0; i < smallHazards.Count; i++) { for (int j = 0; j < bullets.Count; j++) { if (detection.AABBCollision(smallHazards[i], bullets[j])) { eScript = smallHazards[i].GetComponent <EnemyMovement>(); bScript = bullets[j].GetComponent <BulletMovement>(); eScript.position = new Vector3(-200, -200, 0); bScript.bulletPosition = new Vector3(200, 200, 0); eScript.velocity = Vector3.zero; bScript.velocity = Vector3.zero; gui.points += 50; isBulletColliding = true; break; } } } } if (immunity == true) { playerRender.color = Color.magenta; timer++; } if (timer >= 40) { immunity = false; timer = 0; } if (gui.lives <= 0) //If dead, move all of the enemies off the playing field so the player cannot get any more points/lose any more lives before the game closes itself { for (int i = 0; i < crabs.Count; i++) { eScript = crabs[i].GetComponent <EnemyMovement>(); eScript.position = new Vector3(-200, -20, 0); eScript.velocity = Vector3.zero; } for (int j = 0; j < smallHazards.Count; j++) { eScript = smallHazards[j].GetComponent <EnemyMovement>(); eScript.position = new Vector3(-200, -20, 0); eScript.velocity = Vector3.zero; } } }