public void SetPlayerJiJiuBaoVal(Vector3 startPos) { startPos.y += XKDaoJuGlobalDt.GetInstance().DaoJuMaoZiPY; transform.localPosition = startPos; transform.localEulerAngles = Vector3.zero; transform.localScale = new Vector3(LocalScale.x, LocalScale.y, 1f); gameObject.SetActive(true); TweenPosition twPos = gameObject.AddComponent <TweenPosition>(); twPos.from = startPos; twPos.to = startPos + new Vector3(0f, PiaoZiPY, 0f); twPos.duration = PiaoZiTime; twPos.PlayForward(); TweenAlpha twAlp = gameObject.AddComponent <TweenAlpha>(); twAlp.from = 1f; twAlp.to = 0f; twAlp.duration = PiaoZiTime; twAlp.PlayForward(); EventDelegate.Add(twAlp.onFinished, delegate { HiddenPlayerJiJiuBao(); }); }
void Awake() { _Instance = this; PlayerAmmoCtrl ammoScript = AmmoChangCheng.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoChangChengIndex; ammoScript.AmmoType = AmmoChangChengType; ammoScript = AmmoQiangJi.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoQiangJiIndex; ammoScript.AmmoType = AmmoQiangJiType; ammoScript = AmmoPaiJiPao.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoPaiJiPaoIndex; ammoScript.AmmoType = AmmoPaiJiPaoType; ammoScript = AmmoSanDanZP.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoSanDanZPIndex; ammoScript.AmmoType = AmmoSanDanZPType; ammoScript = AmmoChuanJiaDanZP.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoChuanJiaDanZPIndex; ammoScript.AmmoType = AmmoChuanJiaDanZPType; ammoScript = AmmoHuoLiOpenZP.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoHuoLiOpenZPIndex; ammoScript.AmmoType = AmmoHuoLiOpenZPType; ammoScript = AmmoHuoLiOpenJQ.GetComponent <PlayerAmmoCtrl>(); ammoScript.AmmoIndex = AmmoHuoLiOpenJQIndex; ammoScript.AmmoType = AmmoHuoLiOpenJQType; }
void MoveDaoJuToPlayer() { if (IsMoveOverDaoJuToPlayer) { return; } if (AimPlayerTr == null) { return; } Vector3 dirVal = AimPlayerTr.position - DaoJuTr.position; dirVal = dirVal.normalized * XKDaoJuGlobalDt.GetInstance().CiLiDaoJuSpeed *Time.deltaTime; DaoJuTr.Translate(dirVal, Space.World); if (Vector3.Distance(AimPlayerTr.position, DaoJuTr.position) <= 0.5f) { //Debug.Log("Unity:"+"MoveDaoJuToPlayer..."); IsMoveOverDaoJuToPlayer = true; XKPlayerMoveCtrl script = AimPlayerTr.GetComponent <XKPlayerMoveCtrl>(); if (script == null) { return; } RemoveBuJiBao(script.PlayerIndex); } }
void CheckPlayerDistance() { if (Time.realtimeSinceStartup - TimeCheckDis < 0.2f) { return; } TimeCheckDis = Time.realtimeSinceStartup; if (!IsMoveOverDaoJuByItween && IsSpawnDaoJu) { return; } if (AimPlayerTr != null) { return; } Transform playerTr = null; Vector3 posA = Vector3.zero; Vector3 posB = DaoJuTr.position; for (int i = 0; i < 3; i++) { if (XKPlayerGlobalDt.PlayerMoveList == null && XKPlayerGlobalDt.PlayerMoveList.Count <= i) { break; } if (XKPlayerGlobalDt.PlayerMoveList == null || XKPlayerGlobalDt.PlayerMoveList[i] == null) { continue; } if (XKPlayerGlobalDt.PlayerMoveList[i].GetIsDeathPlayer()) { continue; } playerTr = XKPlayerGlobalDt.PlayerMoveList[i].transform; posA = playerTr.position; posA.y = posB.y = 0f; if (Vector3.Distance(posA, posB) > XKDaoJuGlobalDt.GetInstance().CiLiDaoJuDis) { continue; } //Debug.Log("Unity:"+"player "+XKPlayerGlobalDt.PlayerMoveList[i].name); AimPlayerTr = XKPlayerGlobalDt.PlayerMoveList[i].transform; SetBuJiBaoRigbody(true); if (rigidbody != null) { rigidbody.useGravity = false; } if (BoxCol != null) { BoxCol.enabled = false; } } }
// Use this for initialization void Start() { TanKeTran = transform; AmmoParticle = XKPlayerGlobalDt.GetInstance().AmmoParticle; SanDanAmmoParticle = XKPlayerGlobalDt.GetInstance().SanDanAmmoParticle; PaiJiPaoAmmoParticle = XKPlayerGlobalDt.GetInstance().PaiJiPaoAmmoParticle; ChuanTouDanAmmoParticle = XKPlayerGlobalDt.GetInstance().ChuanTouDanAmmoParticle; DaoDanAmmoParticle = XKPlayerGlobalDt.GetInstance().DaoDanAmmoParticle; PuTongAmmo = XKPlayerGlobalDt.GetInstance().PuTongJQAmmo; DaoDanZPAmmo = XKPlayerGlobalDt.GetInstance().DaoDanZPAmmo; ChuanTouDanAmmo = XKDaoJuGlobalDt.GetInstance().AmmoChuanJiaDanZP; AmmoSanDanZP = XKDaoJuGlobalDt.GetInstance().AmmoSanDanZP; PaiJiPaoAmmo = XKDaoJuGlobalDt.GetInstance().AmmoPaiJiPao; ChangChengAmmo = XKDaoJuGlobalDt.GetInstance().AmmoChangCheng; QiangJiAmmo = XKDaoJuGlobalDt.GetInstance().AmmoQiangJi; AmmoHuoLiOpenJQ = XKDaoJuGlobalDt.GetInstance().AmmoHuoLiOpenJQ; AmmoHuoLiOpenZP = XKDaoJuGlobalDt.GetInstance().AmmoHuoLiOpenZP; Frequency = XKPlayerGlobalDt.GetInstance().Frequency; //AmmoParticleList = new List<AmmoParticleDt>(6); FireLayer = XkGameCtrl.GetInstance().PlayerAmmoHitLayer; AmmoStateJiQiang = PlayerAmmoType.PuTongAmmo; AmmoStateZhuPao = PlayerAmmoType.DaoDanAmmo; int fireAudioLen = PlayerFireAudio.Length; for (int i = 0; i < fireAudioLen; i++) { if (PlayerFireAudio[i] == null) { continue; } PlayerFireAudio[i].loop = false; PlayerFireAudio[i].Stop(); } InitPlayerAmmoList(); switch (PlayerIndex) { case PlayerEnum.PlayerOne: InputEventCtrl.GetInstance().ClickFireBtOneEvent += ClickFireBtEvent; InputEventCtrl.GetInstance().ClickDaoDanBtOneEvent += ClickFireDaoDanBtEvent; break; case PlayerEnum.PlayerTwo: InputEventCtrl.GetInstance().ClickFireBtTwoEvent += ClickFireBtEvent; InputEventCtrl.GetInstance().ClickDaoDanBtTwoEvent += ClickFireDaoDanBtEvent; break; case PlayerEnum.PlayerThree: InputEventCtrl.GetInstance().ClickFireBtThreeEvent += ClickFireBtEvent; InputEventCtrl.GetInstance().ClickDaoDanBtThreeEvent += ClickFireDaoDanBtEvent; break; case PlayerEnum.PlayerFour: InputEventCtrl.GetInstance().ClickFireBtFourEvent += ClickFireBtEvent; InputEventCtrl.GetInstance().ClickDaoDanBtFourEvent += ClickFireDaoDanBtEvent; break; } CreatPlayerXiaoFeiJi(); }
public void SetIsHuoLiAllOpen(bool isFire) { //Debug.Log("Unity:"+"SetIsHuoLiAllOpen -> isFire "+isFire); if (isFire) { XKPlayerHuoLiAllOpenUICtrl huoLiUIScript = XKPlayerHuoLiAllOpenUICtrl.GetInstanceHuoLiOpen(PlayerIndex); if (huoLiUIScript != null) { huoLiUIScript.ShowHuoLiOpenUI(XKDaoJuGlobalDt.GetInstance().HuoLiAllOpenTime); } } if (IsHuoLiAllOpen == isFire) { return; } IsHuoLiAllOpen = isFire; //Debug.Log("Unity:"+"SetIsSanDanZPFire -> isFire "+isFire); BuJiBaoType daoJuTypeValZP = isFire == true ? BuJiBaoType.HuoLiAllOpenDJ : BuJiBaoType.DaoDan; BuJiBaoType daoJuTypeValJQ = isFire == true ? BuJiBaoType.HuoLiAllOpenDJ : BuJiBaoType.Null; ZhuPaoAmmoSt = daoJuTypeValZP; JiQiangAmmoSt = daoJuTypeValJQ; }
void MoveDaoJuToPlayer() { if (IsMoveOverDaoJuToPlayer) { return; } if (AimPlayerTr == null) { return; } if (XkGameCtrl.GetIsDeathPlayer(m_PlayerIndex) == true) { if (IsDeath == false) { IsDeath = true; //当血包或其它道具飞向玩家的过程中如果玩家GG了则关闭道具飞向玩家的逻辑并且将其删除。 DestroyNetObj(gameObject); } return; } Vector3 dirVal = AimPlayerTr.position - DaoJuTr.position; dirVal = dirVal.normalized * XKDaoJuGlobalDt.GetInstance().CiLiDaoJuSpeed *Time.deltaTime; DaoJuTr.Translate(dirVal, Space.World); if (Vector3.Distance(AimPlayerTr.position, DaoJuTr.position) <= 0.5f) { //Debug.Log("Unity:"+"MoveDaoJuToPlayer..."); IsMoveOverDaoJuToPlayer = true; XKPlayerMoveCtrl script = AimPlayerTr.GetComponent <XKPlayerMoveCtrl>(); if (script == null) { return; } RemoveBuJiBao(script.PlayerIndex); } }
/// <summary> /// 显示抽奖提示. /// </summary> public void ShowChouJiangTiShi(PlayerEnum indexPlayer, Vector3 startPos) { if (m_ChouJiangTiShiDt != null) { m_ChouJiangTiShiDt.ShowFuHuoInfo(indexPlayer); } startPos.y += XKDaoJuGlobalDt.GetInstance().DaoJuMaoZiPY; transform.localPosition = startPos; transform.localEulerAngles = Vector3.zero; transform.localScale = new Vector3(LocalScale.x, LocalScale.y, 1f); gameObject.SetActive(true); TweenPosition twPos = gameObject.AddComponent <TweenPosition>(); twPos.from = startPos; twPos.to = startPos + new Vector3(0f, PiaoZiPY, 0f); twPos.duration = PiaoZiTime; twPos.PlayForward(); EventDelegate.Add(twPos.onFinished, delegate { StartCoroutine(StartPlayTweenAlpha()); }); m_TimeLast = Time.time; }
/// <summary> /// Removes the bu ji bao. playerSt == 0 -> hit TerrainLayer, /// playerSt == 1 -> PlayerOne, playerSt == 2 -> PlayerTwo. /// playerSt == 3 -> PlayerThree, playerSt == 4 -> PlayerFour. /// </summary> /// <param name="key">Key.</param> public void RemoveBuJiBao(PlayerEnum playerSt, int keyHit = 0) { if (IsDeath) { return; } IsDeath = true; CancelInvoke("DelayDestroyBuJiBao"); if (playerSt != PlayerEnum.Null || keyHit == 1) { //XKGlobalData.GetInstance().PlayAudioHitBuJiBao(); if (ExplodeObj != null) { GameObject obj = (GameObject)Instantiate(ExplodeObj, transform.position, transform.rotation); XkGameCtrl.CheckObjDestroyThisTimed(obj); } if (Network.peerType != NetworkPeerType.Server) { bool isMoveDaoJu = true; switch (BuJiBao) { case BuJiBaoType.FenShuDJ: isMoveDaoJu = false; XKPlayerFenShuCtrl.GetInstance().ShowPlayerFenShu(playerSt, FenShuVal); break; case BuJiBaoType.JiSuDJ: //isMoveDaoJu = false; XKPlayerMoveCtrl.SetPlayerJiSuMoveSpeed(playerSt); XKPlayerMoveCtrl.SetPlayerJiSuState(playerSt); XKPlayerJiSuCtrl.GetInstance().ShowPlayerJiSu(playerSt); break; case BuJiBaoType.YiLiaoBaoDJ: isMoveDaoJu = false; XkGameCtrl.AddPlayerHealth(playerSt, XKDaoJuGlobalDt.GetInstance().YiLiaoBaoXueLiangVal); XKPlayerJiJiuBaoCtrl.GetInstance().ShowPlayerJiJiuBao(playerSt); break; case BuJiBaoType.ShuangBeiFenShuDJ: //isMoveDaoJu = false; //XKDaoJuGlobalDt.SetTimeFenShuBeiLv(playerSt, FenShuBeiLv); XKDaoJuGlobalDt.SetTimeFenShuBeiLv(playerSt, 2); XKFenShuBeiLvCtrl.GetInstance().ShowPlayerFenShuBeiLv(playerSt); break; case BuJiBaoType.QianHouFireDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerQianHouFire(playerSt); break; case BuJiBaoType.ChangChengJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerChangChengFire(playerSt); break; case BuJiBaoType.SanDanJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerJiQiangSanDanFire(playerSt); break; case BuJiBaoType.QiangJiJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerQiangJiFire(playerSt); break; case BuJiBaoType.PaiJiPaoDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsPaiJiPaoFire(playerSt); break; case BuJiBaoType.ZhuPaoSanDanDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsSanDanZPFire(playerSt); break; case BuJiBaoType.HuoLiAllOpenDJ: //isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsHuoLiAllOpen(playerSt); XKPlayerHuoLiAllOpenCtrl.GetInstance().ShowPlayerHuoLiOpen(playerSt); break; case BuJiBaoType.ChuanTouDan: isMoveDaoJu = false; XKPlayerAutoFire.GetInstanceAutoFire(playerSt).SetAmmoStateZhuPao(PlayerAmmoType.ChuanTouAmmo); break; case BuJiBaoType.DaoDan: case BuJiBaoType.GaoBaoDan: case BuJiBaoType.SanDan: case BuJiBaoType.GenZongDan: case BuJiBaoType.JianSuDan: case BuJiBaoType.NLHuDun: isMoveDaoJu = false; break; } if (isMoveDaoJu) { DaoJuCtrl.GetInstance().MoveDaoJuObjToPlayer(playerSt, transform); } } } DestroyNetObj(gameObject); }
public void ShowPlayerDaoJu(PlayerEnum indexPlayer, BuJiBaoType buJiState) { /*int indexBJ = (int)buJiState - 2; * int indexVal = -1; * switch (buJiState) { * case BuJiBaoType.NLHuDun: * case BuJiBaoType.HuoLiAllOpenDJ: * break; * case BuJiBaoType.JiSuDJ: * indexVal = (int)indexPlayer + 11; * break; * default: * indexVal = (int)indexPlayer - 1; * break; * }*/ /*if (indexVal != -1) { * UITexturePlayer[indexVal].mainTexture = DaoJuTexture[indexBJ]; * DaoJuEndTr[indexVal].gameObject.SetActive(true); * }*/ switch (buJiState) { case BuJiBaoType.ChuanTouDan: XkGameCtrl.GetInstance().AddChuanTouDanNum(indexPlayer); break; case BuJiBaoType.GaoBaoDan: XkGameCtrl.GetInstance().AddGaoBaoDanNum(indexPlayer); break; case BuJiBaoType.GenZongDan: XkGameCtrl.GetInstance().AddGenZongDanNum(indexPlayer); break; case BuJiBaoType.JianSuDan: XkGameCtrl.GetInstance().AddJianSuDanNum(indexPlayer); break; case BuJiBaoType.SanDan: XkGameCtrl.GetInstance().AddSanDanNum(indexPlayer); break; case BuJiBaoType.NLHuDun: XkGameCtrl.GetInstance().ActivePlayerWuDiState(indexPlayer); break; case BuJiBaoType.HuoLiAllOpenDJ: break; case BuJiBaoType.ShuangBeiFenShuDJ: XKPlayerFenShuUICtrl fenShuScript = XKPlayerFenShuUICtrl.GetInstanceFenShu(indexPlayer); fenShuScript.ShowFenShuUI(XKDaoJuGlobalDt.GetInstance().TimeShuangBeiVal); break; case BuJiBaoType.JiSuDJ: XKPlayerJiSuUICtrl jiSuScript = XKPlayerJiSuUICtrl.GetInstanceJiSu(indexPlayer); jiSuScript.ShowJiSuUI(XKDaoJuGlobalDt.GetInstance().JiSuTimeVal); break; } }
/// <summary> /// Removes the bu ji bao. playerSt == 0 -> hit TerrainLayer, /// playerSt == 1 -> PlayerOne, playerSt == 2 -> PlayerTwo. /// playerSt == 3 -> PlayerThree, playerSt == 4 -> PlayerFour. /// </summary> /// <param name="key">Key.</param> public void RemoveBuJiBao(PlayerEnum playerSt, int keyHit = 0) { if (IsDeath) { return; } IsDeath = true; CancelInvoke("DelayDestroyBuJiBao"); if (playerSt != PlayerEnum.Null || keyHit == 1) { //XKGlobalData.GetInstance().PlayAudioHitBuJiBao(); if (ExplodeObj != null) { GameObject obj = (GameObject)Instantiate(ExplodeObj, transform.position, transform.rotation); if (obj != null) { obj.transform.SetParent(XkGameCtrl.PlayerAmmoArray); } XkGameCtrl.CheckObjDestroyThisTimed(obj); if (obj != null && IsCaiPiaoDaoJu) { if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null) { int value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetPrintCaiPiaoValueByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.SuiJiDaoJu, DaoJuType); SSCaiPiaoLiZiManage caiPiaoLiZi = obj.GetComponent <SSCaiPiaoLiZiManage>(); if (caiPiaoLiZi != null) { caiPiaoLiZi.ShowNumUI(value, playerSt); } else { Debug.LogWarning("CreatLiZi -> caiPiaoLiZi was null................."); } } if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null) { //初始化飞出的彩票逻辑. XkGameCtrl.GetInstance().m_CaiPiaoFlyData.InitCaiPiaoFly(obj.transform.position, playerSt, SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.SuiJiDaoJu); } else { Debug.LogWarning("CreatLiZi -> m_CaiPiaoFlyData was null............"); } } } if (Network.peerType != NetworkPeerType.Server) { bool isMoveDaoJu = true; switch (BuJiBao) { case BuJiBaoType.FenShuDJ: isMoveDaoJu = false; XKPlayerFenShuCtrl.GetInstance().ShowPlayerFenShu(playerSt, FenShuVal); break; case BuJiBaoType.JiSuDJ: //isMoveDaoJu = false; XKPlayerMoveCtrl.SetPlayerJiSuMoveSpeed(playerSt); XKPlayerMoveCtrl.SetPlayerJiSuState(playerSt); XKPlayerJiSuCtrl.GetInstance().ShowPlayerJiSu(playerSt); break; case BuJiBaoType.YiLiaoBaoDJ: isMoveDaoJu = false; XkGameCtrl.AddPlayerHealth(playerSt, XKDaoJuGlobalDt.GetInstance().YiLiaoBaoXueLiangVal); XKPlayerJiJiuBaoCtrl.GetInstance().ShowPlayerJiJiuBao(playerSt); break; case BuJiBaoType.ShuangBeiFenShuDJ: isMoveDaoJu = false; //XKDaoJuGlobalDt.SetTimeFenShuBeiLv(playerSt, FenShuBeiLv); //XKDaoJuGlobalDt.SetTimeFenShuBeiLv(playerSt, 2); //XKFenShuBeiLvCtrl.GetInstance().ShowPlayerFenShuBeiLv(playerSt); break; case BuJiBaoType.QianHouFireDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerQianHouFire(playerSt); break; case BuJiBaoType.ChangChengJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerChangChengFire(playerSt); break; case BuJiBaoType.SanDanJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerJiQiangSanDanFire(playerSt); break; case BuJiBaoType.QiangJiJiQiang: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerQiangJiFire(playerSt); break; case BuJiBaoType.PaiJiPaoDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsPaiJiPaoFire(playerSt); break; case BuJiBaoType.ZhuPaoSanDanDJ: isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsSanDanZPFire(playerSt); break; case BuJiBaoType.HuoLiAllOpenDJ: //isMoveDaoJu = false; XKDaoJuGlobalDt.SetPlayerIsHuoLiAllOpen(playerSt); XKPlayerHuoLiAllOpenCtrl.GetInstance().ShowPlayerHuoLiOpen(playerSt); break; case BuJiBaoType.ChuanTouDan: isMoveDaoJu = false; XKPlayerAutoFire.GetInstanceAutoFire(playerSt).SetAmmoStateZhuPao(PlayerAmmoType.ChuanTouAmmo); break; case BuJiBaoType.DaoDan: case BuJiBaoType.GaoBaoDan: case BuJiBaoType.SanDan: case BuJiBaoType.GenZongDan: case BuJiBaoType.JianSuDan: case BuJiBaoType.NLHuDun: isMoveDaoJu = false; break; } if (isMoveDaoJu) { DaoJuCtrl.GetInstance().MoveDaoJuObjToPlayer(playerSt, transform); } } } DestroyNetObj(gameObject); }
public void HiddenFenShuUI() { gameObject.SetActive(false); XKDaoJuGlobalDt.ResetPlayerFenShuBeiLv(PlayerSt); }
public void HiddenHuoLiOpenUI() { gameObject.SetActive(false); XKDaoJuGlobalDt.SetPlayerIsHuoLiAllOpen(PlayerSt, false); }
void CheckPlayerDistance() { if (Time.realtimeSinceStartup - TimeCheckDis < 0.2f) { return; } TimeCheckDis = Time.realtimeSinceStartup; if (!IsMoveOverDaoJuByItween && IsSpawnDaoJu) { return; } if (AimPlayerTr != null) { return; } if (IsSpawnDaoJu == true && IsMoveOverDaoJuByItween == false) { //击爆npc掉落的道具按照Itween没有运动结束时不允许进行检测. return; } if (IsSpawnDaoJu == true) { //击爆npc掉落的道具. if (BuJiBao == BuJiBaoType.BigYiLiaoBaoDJ || BuJiBao == BuJiBaoType.YiLiaoBaoDJ) { //动态产生的医疗包道具直接飞向玩家. if (XKPlayerMoveCtrl.GetInstance(m_PlayerIndex) != null) { AimPlayerTr = XKPlayerMoveCtrl.GetInstance(m_PlayerIndex).transform; SetBuJiBaoRigbody(true); SetRigbodyUseGravity(false); if (BoxCol != null) { BoxCol.enabled = false; } return; } } } Transform playerTr = null; Vector3 posA = Vector3.zero; Vector3 posB = DaoJuTr.position; for (int i = 0; i < 3; i++) { if (XKPlayerGlobalDt.PlayerMoveList == null && XKPlayerGlobalDt.PlayerMoveList.Count <= i) { break; } if (XKPlayerGlobalDt.PlayerMoveList == null || XKPlayerGlobalDt.PlayerMoveList[i] == null) { continue; } if (XKPlayerGlobalDt.PlayerMoveList[i].GetIsDeathPlayer()) { continue; } playerTr = XKPlayerGlobalDt.PlayerMoveList[i].transform; posA = playerTr.position; posA.y = posB.y = 0f; if (Vector3.Distance(posA, posB) > XKDaoJuGlobalDt.GetInstance().CiLiDaoJuDis) { continue; } //Debug.Log("Unity:"+"player "+XKPlayerGlobalDt.PlayerMoveList[i].name); //设置玩家枚举. m_PlayerIndex = (PlayerEnum)(i + 1); AimPlayerTr = XKPlayerGlobalDt.PlayerMoveList[i].transform; SetBuJiBaoRigbody(true); SetRigbodyUseGravity(false); if (BoxCol != null) { BoxCol.enabled = false; } break; } }