IEnumerator ModifyHoming(float seconds) { Debug.Log("modify"); yield return(new WaitForSeconds(seconds)); _myProjectType = ProjectileTypes.projectileTypes.homing_missile; }
private void OnCollisionEnter2D(Collision2D collision) { Debug.Log("Hit"); if (collision.gameObject.tag == "BlackHoleEntrance") { if (_myProjectType == ProjectileTypes.projectileTypes.homing_missile) { ChangeTargetToBoss(); ChangeLocation(collision.gameObject.GetComponent <Entrance_BlackHole>().testExit.transform); } } else if (collision.gameObject.tag == "Player") { //Player Takes Damage } else if (collision.gameObject.tag == "Boss") { //Boss Takes Damage Destroy(gameObject); } if (collision.gameObject.tag == "Reflector") { _myProjectType = ProjectileTypes.projectileTypes.missile; float speed = lastVelocity.magnitude; Vector3 direction = Vector3.Reflect(lastVelocity.normalized, collision.contacts[0].normal); _rb.velocity = direction * Mathf.Max(speed, 0f); StartCoroutine("ModifyHoming", 0.5); } if (collision.gameObject.tag == "ElectroCannonBattery") { Destroy(gameObject); collision.gameObject.GetComponent <ElectroCannonBattery>().IncrementChargeCount(); } }