void OnCollisionEnter(Collision collision) { if (GameCtrlXK.PlayerTran == null) { return; } if (IsBombShuiLei) { return; } if (LayerMask.LayerToName(collision.transform.gameObject.layer) == "Water" || LayerMask.LayerToName(collision.transform.gameObject.layer) == "Terrain") { if (BulletState == NpcBulletState.BoLiPing) { IsBombShuiLei = true; ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup; ExplodeObj.SetActive(true); AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui); //CameraShake.GetInstance().SetCameraShakeImpulseValue(); //PlayerAutoFire.HandlePlayerHitShuiLei(); Destroy(gameObject, 0.3f); return; } } if (collision.transform.root == GameCtrlXK.PlayerTran) { //Debug.Log("**************************** " + tr.name); IsBombShuiLei = true; ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup; ExplodeObj.SetActive(true); switch (BulletState) { case NpcBulletState.ShuiLei: AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLeiBaoZha); pcvr.GetInstance().OnPlayerHitShake(); break; case NpcBulletState.BoLiPing: AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui); break; } CameraShake.GetInstance().SetCameraShakeImpulseValue(); PlayerAutoFire.HandlePlayerHitShuiLei(); Destroy(gameObject, 0.3f); } }
void CheckPlayerDistance() { if (GameCtrlXK.PlayerTran == null) { return; } if (IsBombShuiLei) { return; } Vector3 posA = GameCtrlXK.PlayerTran.position; Vector3 posB = tr.position; posA.y = posB.y = 0f; if (Vector3.Distance(posA, posB) < 5f) { IsBombShuiLei = true; ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup; ExplodeObj.SetActive(true); switch (BulletState) { case NpcBulletState.ShuiLei: AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLeiBaoZha); pcvr.GetInstance().OnPlayerHitShake(); break; case NpcBulletState.BoLiPing: AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui); break; } CameraShake.GetInstance().SetCameraShakeImpulseValue(); PlayerAutoFire.HandlePlayerHitShuiLei(); Destroy(gameObject, 0.3f); } }