private static void TestAsteroidCollision() { AsteroidCollision instance = new AsteroidCollision(); Console.WriteLine(instance.Solution3(new[] { -2, 1, -2, -2 })); Console.WriteLine(instance.Solution3(new[] { 5, 10, -5 })); }
void OnTriggerEnter(Collider collision) { ProjectileEnemy missle = collision.gameObject.GetComponent <ProjectileEnemy>(); if (missle) { Debug.Log("trafiony pociskiem"); health -= missle.GetDmg(); missle.Hit(); if (health <= 0) { Destroy(gameObject); Instantiate(ExplosionPlayer, transform.position, Quaternion.identity); AudioSource.PlayClipAtPoint(playerdestroyed, transform.position); GameController obj = GameObject.Find("Game Controller").GetComponent <GameController>(); obj.GameOver(); } } //LevelManager obj = GameObject.Find("LevelManager").GetComponent<LevelManager>(); //obj.LoadLevel("Win Screen"); AsteroidCollision Asteroid = collision.gameObject.GetComponent <AsteroidCollision>(); if (Asteroid) { Debug.Log("Asteroida/statek"); Asteroid.ExplosionAsteroid(); Destroy(gameObject); GameController obj = GameObject.Find("Game Controller").GetComponent <GameController>(); obj.GameOver(); Debug.Log("Game Over"); } if (collision.gameObject.tag == ("Enemy")) { Debug.Log("przeciwnik/statek"); Instantiate(ExplosionPlayer, transform.position, Quaternion.identity); Destroy(gameObject); GameController obj = GameObject.Find("Game Controller").GetComponent <GameController>(); obj.GameOver(); Debug.Log("Game Over"); } }
private void OnTriggerEnter2D(Collider2D collision) { Destroy(gameObject); Debug.Log("Player Bullet collided with " + collision.name); AsteroidCollision asteroid = collision.GetComponent <AsteroidCollision>(); EnemyShip enemy = collision.GetComponent <EnemyShip>(); if (asteroid != null) { Debug.Log("Asteroid Hit by Player Bullet"); Instantiate(poofParticle, transform.position, Quaternion.identity); asteroid.TakeDamage(); } else if (enemy != null) { Debug.Log("Enemy hit by Player Bullet"); Instantiate(poofParticle, transform.position, Quaternion.identity); enemy.TakeDamage(); } }
void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Big_Asteroid" || other.gameObject.tag == "Medium_Asteroid" || other.gameObject.tag == "Small_Asteroid") { GameObject asteroid = other.gameObject; AsteroidCollision script = asteroid.GetComponent <AsteroidCollision>(); script.BossAsteroidCollide(); } if (other.gameObject.tag == "Shot" || other.gameObject.tag == "LongShot") { Destroy(other.gameObject); BossHealth script = gameObject.GetComponent <BossHealth> (); if (script.currentHealth != 0) { script.currentHealth -= 1; script.HandleHealth(); if (script.currentHealth <= 0) { // reset health script.currentHealth = script.maxHealth; script.HandleHealth(); AddToScore(); ExplosionSound(); RemoveBoss(); LeaveExplosion(); GameObject waveManager = GameObject.Find("WaveManager"); KeepWave waveScript = waveManager.GetComponent <KeepWave>(); waveScript.SpawnBossWave += 5; waveScript.bossSpawned = false; } } } else if (other.gameObject.tag == "Ship") { ShipCollide script = other.gameObject.GetComponent <ShipCollide>(); script.ShipCollision(); } }
private void AddComponents() { AsteroidUtils.ApplyImpulse(gameObject.GetComponent <Rigidbody2D>()); /* Collision Notification */ AsteroidCollision collision = gameObject.AddComponent <AsteroidCollision>(); collision.Initialize(this); /* Reallocator */ SystemManager.RegisterSystem(new AsteroidReallocator(gameObject.transform, spawner), new UnityEventBind(GameEvents.GameOver)); GameObject circleCollider = new GameObject("Circle Collider") { layer = Layers.SteeringAvoidance }; CircleCollider2D collider = circleCollider.AddComponent <CircleCollider2D>(); collider.radius = health / HealthSizeProportion * RandomUtils.MaxVertexDisplacement + 0.5f; circleCollider.transform.SetParent(gameObject.transform); circleCollider.transform.localPosition = Vector3.zero; }