bool CheckAmmoHitObj(GameObject hitObjNpc, PlayerEnum playerIndex) { // BuJiBaoCtrl buJiBaoScript = hitObjNpc.GetComponent<BuJiBaoCtrl>(); // if (buJiBaoScript != null) { // buJiBaoScript.RemoveBuJiBao(playerIndex); //buJiBaoScript // return; // } bool isStopCheckHit = false; if (AmmoType != PlayerAmmoType.PaiJiPaoAmmo) { XKPlayerCheckCamera checkCam = hitObjNpc.GetComponent <XKPlayerCheckCamera>(); if (checkCam != null) { MoveAmmoOnCompelteITween(); return(true); } } XKNpcHealthCtrl healthScript = hitObjNpc.GetComponent <XKNpcHealthCtrl>(); if (healthScript != null && !healthScript.GetIsDeathNpc()) { /*Debug.Log("CheckAmmoHitObj -> OnDamageNpc: " +"AmmoType "+AmmoType +", AmmoName "+AmmoTran.name +", NpcName "+healthScript.GetNpcName() +", AmmoDamageDis "+AmmoDamageDis);*/ bool isHitNpc = false; switch (AmmoType) { case PlayerAmmoType.ChuanTouAmmo: case PlayerAmmoType.PaiJiPaoAmmo: if (NpcHealthList == null) { NpcHealthList = new List <XKNpcHealthCtrl>(); } if (!NpcHealthList.Contains(healthScript)) { NpcHealthList.Add(healthScript); isHitNpc = true; } break; default: MoveAmmoOnCompelteITween(); isStopCheckHit = true; isHitNpc = true; break; } if (isHitNpc) { healthScript.OnDamageNpc(DamageNpc, PlayerState, AmmoType); SpawnAmmoParticleObj(); } } if (hitObjNpc != null) { NpcAmmoCtrl npcAmmoScript = hitObjNpc.GetComponent <NpcAmmoCtrl>(); if (npcAmmoScript != null) { npcAmmoScript.MoveAmmoOnCompelteITween(); } if (AmmoType == PlayerAmmoType.DaoDanAmmo || AmmoType == PlayerAmmoType.GaoBaoAmmo || AmmoType == PlayerAmmoType.PuTongAmmo || AmmoType == PlayerAmmoType.SanDanAmmo) { if (hitObjNpc.layer != LayerMask.NameToLayer("Default")) { MoveAmmoOnCompelteITween(); isStopCheckHit = true; } } } return(isStopCheckHit); }
bool CheckAmmoHitObj(GameObject hitObjNpc, PlayerEnum playerIndex) { // BuJiBaoCtrl buJiBaoScript = hitObjNpc.GetComponent<BuJiBaoCtrl>(); // if (buJiBaoScript != null) { // buJiBaoScript.RemoveBuJiBao(playerIndex); //buJiBaoScript // return; // } bool isStopCheckHit = false; if (AmmoType != PlayerAmmoType.PaiJiPaoAmmo) { XKPlayerCheckCamera checkCam = hitObjNpc.GetComponent <XKPlayerCheckCamera>(); if (checkCam != null) { IsHitNpcAmmo = true; //SSDebug.LogWarning("MoveAmmoOnCompelteITween ============== 55555555555555555"); MoveAmmoOnCompelteITween(); return(true); } } XKNpcHealthCtrl healthScript = hitObjNpc.GetComponent <XKNpcHealthCtrl>(); if (healthScript != null && !healthScript.GetIsDeathNpc()) { /*Debug.Log("Unity:"+"CheckAmmoHitObj -> OnDamageNpc: " +"AmmoType "+AmmoType +", AmmoName "+AmmoTran.name +", NpcName "+healthScript.GetNpcName() +", AmmoDamageDis "+AmmoDamageDis);*/ bool isHitNpc = false; switch (AmmoType) { case PlayerAmmoType.ChuanTouAmmo: case PlayerAmmoType.PaiJiPaoAmmo: { if (NpcHealthList == null) { NpcHealthList = new List <XKNpcHealthCtrl>(); } if (!NpcHealthList.Contains(healthScript)) { NpcHealthList.Add(healthScript); isHitNpc = true; } break; } default: { IsHitNpcAmmo = true; //MoveAmmoOnCompelteITween(); isStopCheckHit = true; isHitNpc = true; break; } } if (isHitNpc) { int baoJiDamage = 0; if (AmmoType == PlayerAmmoType.ChuanTouAmmo || AmmoType == PlayerAmmoType.DaoDanAmmo || AmmoType == PlayerAmmoType.PaiJiPaoAmmo || AmmoType == PlayerAmmoType.SanDanAmmo || AmmoType == PlayerAmmoType.ChongJiBoAmmo) { //获取玩家对代金券npc的暴击伤害. XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.CheckPlayerBaoJiDengJi(AmmoType, PlayerState, healthScript); if (XkGameCtrl.GetInstance().m_CaiPiaoHealthDt != null && healthScript.GetIsDaiJinQuanNpc() == true) { baoJiDamage = XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.GetBaoJiDamage(PlayerState); } } //if (XkGameCtrl.GetInstance().m_CaiPiaoHealthDt != null && healthScript.GetIsDaiJinQuanNpc() == true) //{ // if (AmmoType == PlayerAmmoType.ChuanTouAmmo // || AmmoType == PlayerAmmoType.DaoDanAmmo // || AmmoType == PlayerAmmoType.PaiJiPaoAmmo // || AmmoType == PlayerAmmoType.SanDanAmmo) // { // //获取玩家对代金券npc的暴击伤害. // XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.CheckPlayerBaoJiDengJi(AmmoType, PlayerState, healthScript); // baoJiDamage = XkGameCtrl.GetInstance().m_CaiPiaoHealthDt.GetBaoJiDamage(PlayerState); // } //} healthScript.OnDamageNpc(DamageNpc + baoJiDamage, PlayerState, AmmoType, IsAiFireAmmo); SpawnAmmoParticleObj(healthScript); } if (isStopCheckHit == true) { //停止子弹的伤害检测. if (AmmoType == PlayerAmmoType.ChongJiBoAmmo) { //冲击波子弹不允许调用MoveAmmoOnCompelteITween. } else { //SSDebug.LogWarning("MoveAmmoOnCompelteITween ============== 44444444444444444"); MoveAmmoOnCompelteITween(); } } } if (hitObjNpc != null) { NpcAmmoCtrl npcAmmoScript = hitObjNpc.GetComponent <NpcAmmoCtrl>(); if (npcAmmoScript != null) { npcAmmoScript.MoveAmmoOnCompelteITween(); } if (AmmoType == PlayerAmmoType.DaoDanAmmo || AmmoType == PlayerAmmoType.GaoBaoAmmo || AmmoType == PlayerAmmoType.PuTongAmmo || AmmoType == PlayerAmmoType.SanDanAmmo || AmmoType == PlayerAmmoType.ChongJiBoAmmo) { if (hitObjNpc.layer != LayerMask.NameToLayer("Default")) { //SSDebug.Log("hitObjNpc ===================================== " + hitObjNpc.name); IsHitNpcAmmo = true; if (AmmoType == PlayerAmmoType.ChongJiBoAmmo) { //冲击波子弹不允许在这里调用MoveAmmoOnCompelteITween,否则会被瞬间删除. } else { //SSDebug.LogWarning("MoveAmmoOnCompelteITween ============== 333333333333333"); MoveAmmoOnCompelteITween(); } isStopCheckHit = true; } } } return(isStopCheckHit); }