public void OnDamage(float unitTime) { if (PlayerNetScript != null) { if (PlayerNetScript == WaterwheelPlayerNetCtrl.GetInstance()) { return; } PlayerNetScript.SetActivePlayerGunWaterObj(1); } if (IsDeadObj) { return; } CountDamage++; if (unitTime * CountDamage >= DamageTime) { IsDeadObj = true; if (GlobalData.GetInstance().gameMode == GameMode.SoloMode) { NpcMoveCtrl npcScript = gameObject.GetComponent <NpcMoveCtrl>(); ZaiTiNpcCtrl npcZaiTiScript = gameObject.GetComponent <ZaiTiNpcCtrl>(); if (npcScript != null || npcZaiTiScript != null) { if (npcZaiTiScript != null) { npcZaiTiScript.ShootedByPlayer(0); PlayerAutoFire.AddPlayerShootNpcNum(); } else { if (npcScript.NPC_Type == NPC_STATE.BOSS_NPC || npcScript.NPC_Type == NPC_STATE.ZAI_TI_NPC) { return; } else { npcScript.ShootedByPlayer(); PlayerAutoFire.AddPlayerShootNpcNum(); } } } else { WaterwheelPlayerCtrl.GetInstance().ShootingDeadObj(gameObject); } } else { if (PlayerNetScript != null) { ResetDamageInfo(); PlayerNetScript.ActiveXuanYunState(); //ScreenLog.Log("ActiveXuanYunState -> name "+gameObject.name); } else { switch (tag) { case "DianDaoFuObj": case "DingShenFuObj": case "HuanWeiFuObj": case "HuanYingFuObj": case "JuLiFuObj": if (Time.realtimeSinceStartup - TimeDaoJuJiHuoVal < 1f) { return; } TimeDaoJuJiHuoVal = Time.realtimeSinceStartup; break; } WaterwheelPlayerNetCtrl.GetInstance().ShootingDeadObj(gameObject); } } } }