protected virtual void AsteroidCollision(Collision2D collision) //vid en kollision som sker med ett objekt med taggen "asteroid" förstörs asteroiden som kolliderades med och lasern som kolliderade { AsteroidController asteroid = collision.gameObject.GetComponent <AsteroidController>(); asteroid.DestroyAsteroid(true); DestroyLazer(); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("laser") || collision.CompareTag("GameController")) { return; } else if (collision.CompareTag("boss")) { GameController.Instance.GameOver("death"); Instantiate(GameController.Instance.shipExplosion, transform.position, Quaternion.identity); SoundController.Instance.PlayerExplosion(); Destroy(gameObject); return; } else if (collision.CompareTag("shield") && curShieldIndex != 3) { Destroy(collision.gameObject); OnShieldUp(); return; } else if (collision.CompareTag("capsule") && (curWeaponIndex == 6 || curWeaponIndex == 7)) { return; } else if (collision.CompareTag("capsule")) { CapsuleMov data = collision.gameObject.GetComponent <CapsuleMov>(); curWeaponIndex = data.carryWeaponIndex; bulletsLeft = data.amountBullets; Destroy(collision.gameObject); SoundController.Instance.GearUp(); return; } else if (collision.CompareTag("coin")) { Destroy(collision.gameObject); GameController.Instance.coins++; SoundController.Instance.CoinCollected(); return; } if (curShieldIndex == 3) { return; } if (curShieldIndex != -1) { AsteroidController asteroid = collision.gameObject.GetComponent <AsteroidController>(); EnemyController enemy = collision.gameObject.GetComponent <EnemyController>(); if (asteroid != null) { asteroid.DestroyAsteroid(); } else if (enemy != null) { enemy.DestroyEnemy(); } else { Destroy(collision.gameObject); } OnShieldDown(); Handheld.Vibrate(); return; } GameController.Instance.GameOver("death"); Destroy(collision.gameObject); //explosion Instantiate(GameController.Instance.shipExplosion, transform.position, Quaternion.identity); //sound SoundController.Instance.PlayerExplosion(); Destroy(gameObject); }