void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Enemy") { Debug.Log(collision.transform.name); if (collision.transform.name == "Head") { SBHEnemyControl enemyControl = collision.transform.parent.GetComponent <SBHEnemyControl>(); enemyControl.HeadShot(); } else if (collision.transform.name.Contains("Enemy")) { SBHEnemyControl enemyControl = collision.transform.GetComponent <SBHEnemyControl>(); enemyControl.GunShot(); } } else if (collision.gameObject.tag == "Unit") { SBHCivilianControl civilianControl = collision.transform.GetComponent <SBHCivilianControl>(); civilianControl.GunShot(); } else if (collision.gameObject.tag == "Obstacle") { } Destroy(this.gameObject); }
private void ShootProcess(Transform target, bool isKillCivilian) { if (target.tag == "Enemy") { if (target.name == "Head") { SBHEnemyControl enemyControl = target.parent.GetComponent <SBHEnemyControl>(); enemyControl.HeadShot(); } else if (target.name.Contains("Enemy")) { SBHEnemyControl enemyControl = target.GetComponent <SBHEnemyControl>(); enemyControl.GunShot(); } } else if (target.tag == "Unit") { if (isKillCivilian) { SBHCivilianControl civilianControl = target.GetComponent <SBHCivilianControl>(); civilianControl.GunShot(); } } else if (target.tag == "Glass") { target.gameObject.SetActive(false); SBHSoundManger.Instance.PlayGlassAudio(); Shoot(true); } }
//void OnDrawGizmos() //{ // Transform cameraTran = camera.transform; // float maxDistance = 20; // int enmeyMask = 1 << 13; // RaycastHit hit; // // Physics.BoxCast (레이저를 발사할 위치, 사각형의 각 좌표의 절판 크기, 발사 방향, 충돌 결과, 회전 각도, 최대 거리) // bool isHit = Physics.BoxCast(cameraTran.position, cameraTran.lossyScale / 2 * 3, cameraTran.forward, out hit, cameraTran.rotation, maxDistance, enmeyMask); // Gizmos.color = Color.red; // if (isHit) // { // Gizmos.DrawRay(cameraTran.position, cameraTran.forward * hit.distance); // Gizmos.DrawWireCube(cameraTran.position + cameraTran.forward * hit.distance, cameraTran.lossyScale * 3); // } // else // { // Gizmos.DrawRay(cameraTran.position, cameraTran.forward * maxDistance); // } //} private void AimProcess(Transform target) { if (target.tag == "Enemy") { if (target.name.Contains("Enemy")) { SBHEnemyControl enemyControl = target.GetComponent <SBHEnemyControl>(); enemyControl.Aimed(); } } }