void OnTriggerEnter(Collider other) { XKPlayerMoveCtrl playerMoveCom = other.GetComponent <XKPlayerMoveCtrl>(); if (playerMoveCom == null) { return; } //SSDebug.Log("SSTriggerChangeMat::OnTriggerEnter -> playerMoveCom.playerIndex ==== " + playerMoveCom.PlayerIndex); if (m_PlayerEnumList == null) { if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_TriggerManage != null) { //设置信息. XkGameCtrl.GetInstance().m_TriggerManage.SetTriggerChangeMat(this); } m_PlayerEnumList = new List <PlayerEnum>(); } if (m_PlayerEnumList != null && m_PlayerEnumList.Contains(playerMoveCom.PlayerIndex) == false) { m_PlayerEnumList.Add(playerMoveCom.PlayerIndex); //更换材质球为透明的. UpdateMaterialState(MaterialState.TouMing); } }
void OnTriggerStay(Collider other) { if (IsOpenTrigger == false) { return; } XKPlayerMoveCtrl playerMoveCom = other.GetComponent <XKPlayerMoveCtrl>(); if (playerMoveCom == null) { return; } if (IsJPBossHuoYanWeapon == true) { //玩家受到JPBoss的火焰武器伤害. playerMoveCom.OnJPBossHuoYanHitPlayer(); } if (!playerMoveCom.GetIsWuDiState() && !playerMoveCom.GetIsShanShuoState()) { if (!playerMoveCom.GetIsDeathPlayer()) { XkGameCtrl.GetInstance().SubGamePlayerHealth(playerMoveCom.PlayerIndex, PlayerDamage); } } }
public void ShowPlayerFenShu(PlayerEnum indexVal, int fenShuVal) { int indexPlayer = (int)indexVal - 1; indexPlayer = (indexPlayer < 0 || indexPlayer > 3) ? 0 : indexPlayer; int fenShuValTmp = (fenShuVal * XKDaoJuGlobalDt.FenShuBeiLv[indexPlayer]); if (fenShuValTmp <= 0) { return; } XkGameCtrl.PlayerJiFenArray[indexPlayer] += fenShuValTmp; XKPlayerScoreCtrl.ChangePlayerScore(indexVal); XKPlayerFenShuMove fenShuMoveCom = GetXKPlayerFenShuMove(); if (fenShuMoveCom == null) { return; } Transform playerTr = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl(indexVal).PiaoFenPoint; // playerTr = TestPlayerTr; //test Vector3 startPos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position); int fenShuLen = fenShuVal.ToString().Length; startPos.x += 9f * (fenShuLen - 1); fenShuMoveCom.SetPlayerFenShuVal(fenShuVal, startPos, indexPlayer); }
void OnCollisionEnter(Collision collision) { //Debug.Log("Unity:"+"**********OnCollisionEnter-> collision "+collision.gameObject.name); XKPlayerMoveCtrl playerScript = collision.gameObject.GetComponent <XKPlayerMoveCtrl>(); if (playerScript == null) { return; } if (NpcJiFen == NpcJiFenEnum.Boss || !IsCanHitNpc) { if (Time.realtimeSinceStartup - TimeHitBoss < 1f) { return; } TimeHitBoss = Time.realtimeSinceStartup; Vector3 pushDir = Vector3.zero; Vector3 playerPos = playerScript.transform.position; Vector3 hitPos = transform.position; playerPos.y = hitPos.y = 0f; pushDir = playerPos - hitPos; playerScript.PushPlayerTanKe(pushDir); if (!playerScript.GetIsWuDiState()) { XkGameCtrl.GetInstance().SubGamePlayerHealth(playerScript.PlayerIndex, PlayerDamage); } return; } if (IsDeathNpc) { return; } if (!playerScript.GetIsWuDiState()) { XkGameCtrl.GetInstance().SubGamePlayerHealth(playerScript.PlayerIndex, PlayerDamage); } CheckNpcDeathExplode(); if (!IsYouTongNpc) { XkGameCtrl.GetInstance().AddPlayerKillNpc(playerScript.PlayerIndex, NpcJiFen, GetJiFen()); ShowPiaoFen(playerScript.PlayerIndex); } if (NpcScript != null) { IsDeathNpc = true; NpcScript.TriggerRemovePointNpc(1); } else if (CannonScript != null) { IsDeathNpc = true; CannonScript.OnRemoveCannon(PlayerEnum.Null, 1); } CheckHiddenNpcObjArray(); }
public void ActiveCamera(Transform playerTran) { AimPlayerTran = playerTran; if (AimPlayerTran != null) { PlayerMvScript = AimPlayerTran.GetComponent <XKPlayerMoveCtrl>(); } if (Network.peerType == NetworkPeerType.Server /* || XkGameCtrl.GetInstance().IsServerCameraTest*/) { if (Camera.main.gameObject != XkGameCtrl.ServerCameraObj) { if (Camera.main != null) { Camera.main.enabled = false; } } if (CameraCom != null) { CameraCom.enabled = false; } DingDianAimCamera = gameObject; CameraCom = XkGameCtrl.ServerCameraObj.camera; XkGameCtrl.SetServerCameraTran(transform); } else { if (Camera.main != null) { Camera.main.enabled = false; } gameObject.SetActive(true); } }
internal void Init() { if (IsInit == true) { return; } IsInit = true; XKPlayerMoveCtrl playerMoveCom = gameObject.GetComponentInParent <XKPlayerMoveCtrl>(); if (playerMoveCom != null) { PlayerSt = playerMoveCom.PlayerIndex; } //SSDebug.LogWarning("PlayerXueTiao init................ PlayerSt ==== " + PlayerSt); CameraTran = Camera.main != null ? Camera.main.transform : null; #if !USE_PLAYER_WX_HEAD if (m_PlayerNumImg != null && m_MatNum != null) { m_MatNum.mainTexture = m_PlayerNumImg; } #else if (m_TouMingHead != null) { //m_HeadUrl = ""; m_MatNum.mainTexture = m_TouMingHead; } #endif SetActivePlayerXuTiao(false); SetPlayerIndex(PlayerSt); }
void OnCollisionEnter(Collision collision) { //Debug.Log("Unity:"+"OnCollisionEnter -> nameHit "+collision.gameObject.name); string layerName = LayerMask.LayerToName(collision.gameObject.layer); if (layerName == XkGameCtrl.TerrainLayer && IsSpawnDaoJu && !IsDelayDestroy) { InitDelayDestroyBuJiBao(); } if (Network.peerType == NetworkPeerType.Server) { return; } XKPlayerMoveCtrl script = collision.transform.root.GetComponent <XKPlayerMoveCtrl>(); if (script == null) { return; } RemoveBuJiBao(script.PlayerIndex); }
/// <summary> /// 删除获得战车代金券的玩家信息. /// </summary> public void RemoveGetZhanCheDaiJinQuanPlayer(XKPlayerMoveCtrl playerCom) { if (m_GenZongDanData != null) { m_GenZongDanData.RemovePlayerCom(playerCom); } }
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); } }
public void Init() { Debug.Log("SSGameJiXuBaoYueDlg::Init..."); m_ExitType = DlgEnum.QueDing; switch (m_ExitType) { case DlgEnum.QueDing: { SetQueDingUITexture(1); SetQuXiaoUITexture(0); SetAcitveBtFlash(); QueDingUI.transform.localScale = m_BigScale; QuXiaoUI.transform.localScale = m_SmallScale; break; } case DlgEnum.QuXiao: { SetQueDingUITexture(0); SetQuXiaoUITexture(1); SetAcitveBtFlash(); QueDingUI.transform.localScale = m_SmallScale; QuXiaoUI.transform.localScale = m_BigScale; break; } } XKPlayerMoveCtrl.OpenAllPlayerWuDiTeXiao(); InputEventCtrl.GetInstance().ClickTVYaoKongEnterBtEvent += ClickTVYaoKongEnterBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongLeftBtEvent += ClickTVYaoKongLeftBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongRightBtEvent += ClickTVYaoKongRightBtEvent; }
void OpenXueBaoDaoJuMoveToPlayer(PlayerEnum indexPlayer) { if (XKPlayerMoveCtrl.GetInstance(indexPlayer) != null) { AimPlayerTr = XKPlayerMoveCtrl.GetInstance(indexPlayer).transform; } }
public void HiddenJiSuUI(int key = 0) { if (key == 0) { XKPlayerMoveCtrl playerMoveScript = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl(PlayerSt); playerMoveScript.ResetPlayerJiSuState(); } gameObject.SetActive(false); }
public static bool GetPlayerIsHuoLiAllOpen(PlayerEnum indexPlayer) { XKPlayerMoveCtrl moveScript = XKPlayerMoveCtrl.GetInstance(indexPlayer); if (moveScript == null) { return(false); } return(moveScript.GetIsHuoLiAllOpen()); }
public static void SetPlayerIsHuoLiAllOpen(PlayerEnum indexPlayer, bool isFire = true) { XKPlayerMoveCtrl moveScript = XKPlayerMoveCtrl.GetInstance(indexPlayer); if (moveScript == null) { return; } moveScript.SetIsHuoLiAllOpen(isFire); }
//[Range(0f, 100f)]public float PlayerDamageDis = 10f; void OnTriggerEnter(Collider other) { XKPlayerMoveCtrl playerMoveScript = other.GetComponent<XKPlayerMoveCtrl>(); if (playerMoveScript == null) { return; } Debug.Log("Unity:"+"XKTiaoBanCtrl::OnTriggerEnter -> hit "+other.name); //XkGameCtrl.ActivePlayerToGame(playerMoveScript.PlayerIndex, true); playerMoveScript.MakePlayerToTiaoYueDian(TiaoDianTr); }
void UpdateAmmoHit() { if (AmmoType == PlayerAmmoType.PaiJiPaoAmmo) { return; } bool isHitObj = false; XKPlayerMoveCtrl playerScript = null; Collider[] hits = Physics.OverlapSphere(AmmoTran.position, HitRadius, NpcAmmoHitLayer); foreach (Collider c in hits) { if (c.isTrigger) { continue; } playerScript = c.GetComponent <XKPlayerMoveCtrl>(); isHitObj = true; break; } Vector3 posA = AmmoTran.position; Vector3 posB = AmmoTran.position; if (!isHitObj) { for (int i = 0; i < 4; i++) { playerScript = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl((PlayerEnum)(i + 1)); if (playerScript == null || playerScript.GetIsDeathPlayer()) { continue; } posB = playerScript.transform.position; posA.y = posB.y = 0f; if (Vector3.Distance(posA, posB) <= HitRadius) { isHitObj = true; break; } } } if (isHitObj) { if (playerScript != null && !playerScript.GetIsDeathPlayer()) { XkGameCtrl.GetInstance().SubGamePlayerHealth(playerScript.PlayerIndex, PlayerDamage); } MoveAmmoOnCompelteITween(); } }
void OnTriggerExit(Collider other) { XKPlayerMoveCtrl playerMoveCom = other.GetComponent <XKPlayerMoveCtrl>(); if (playerMoveCom == null) { return; } //SSDebug.Log("SSTriggerChangeMat::OnTriggerExit -> playerMoveCom.playerIndex ==== " + playerMoveCom.PlayerIndex); SubEnterCount(playerMoveCom.PlayerIndex); }
void HiddenHuDunUI() { gameObject.SetActive(false); XKPlayerMoveCtrl playerMoveScript = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl(PlayerSt); if (playerMoveScript == null) { return; } playerMoveScript.ResetIsWuDiState(); }
void HiddenHuDunUI() { IsCanResetHuDunTime = false; gameObject.SetActive(false); XKPlayerMoveCtrl playerMoveScript = XKPlayerMoveCtrl.GetInstance(PlayerSt); if (playerMoveScript == null) { return; } playerMoveScript.ResetIsWuDiState(); }
public void RemovePlayerCom(XKPlayerMoveCtrl playerCom) { if (playerCom == null) { return; } if (PlayerComList.Contains(playerCom) == true) { PlayerComList.Remove(playerCom); } playerCom.ResetZhanCheDaiJinQuanCount(); }
public static void AddPlayerMoveList(XKPlayerMoveCtrl playerScript) { if (PlayerMoveList == null) { PlayerMoveList = new List <XKPlayerMoveCtrl>(); } if (PlayerMoveList.Contains(playerScript)) { return; } PlayerMoveList.Add(playerScript); }
/// <summary> /// 当玩家操控了手柄按键. /// </summary> internal void OnPlayerDoPadButton(PlayerEnum playerIndex) { int indexVal = (int)playerIndex - 1; if (indexVal < 0 || indexVal >= 4) { return; } if (XKPlayerMoveCtrl.GetInstance(playerIndex) != null) { XKPlayerMoveCtrl.GetInstance(playerIndex).OnPlayerAction(); } }
public void ShowPlayerJiJiuBao(PlayerEnum indexVal) { XKPlayerJiJiuBaoMove huoLiOpenMoveCom = GetXKPlayerJiJiuBaoMove(); if (huoLiOpenMoveCom == null) { return; } Transform playerTr = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl(indexVal).PiaoFenPoint; Vector3 startPos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position); huoLiOpenMoveCom.SetPlayerJiJiuBaoVal(startPos); }
public void ShowPlayerFenShuBeiLv(PlayerEnum indexVal) { XKFenShuBeiLvMove fenShuBeiLvMoveCom = GetXKFenShuBeiLvMove(); if (fenShuBeiLvMoveCom == null) { return; } Transform playerTr = XKPlayerMoveCtrl.GetInstance(indexVal).PiaoFenPoint; Vector3 startPos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position); fenShuBeiLvMoveCom.SetPlayerFenShuBeiLvVal(startPos); }
void MoveAmmoByItween() { float disVal = 500f; RaycastHit hitInfo; Vector3[] posArray = new Vector3[2]; Vector3 startPos = AmmoTran.position; Vector3 forwardVal = AmmoTran.forward; //Instantiate(testObjAmmo, AmmoTran.position, AmmoTran.rotation); //test Vector3 firePos = startPos + (forwardVal * disVal); startPos += forwardVal * 3f; //优化处理,当npo子弹速度足够大时采用. if (MvSpeed > SpeedMaxVal) { Physics.Raycast(startPos, forwardVal, out hitInfo, disVal, NpcAmmoHitLayer); if (hitInfo.collider != null) { firePos = hitInfo.point; //Debug.Log("Unity:"+"*****npcAmmoHitObj "+hitInfo.collider.name); XKPlayerMoveCtrl playerScript = hitInfo.collider.GetComponent <XKPlayerMoveCtrl>(); if (playerScript != null && !playerScript.GetIsWuDiState()) { if (AmmoType == PlayerAmmoType.GenZongAmmo && IsOnlyHitTarget == true && TargetObject != null && TargetObject != playerScript.GenZongDanAimPoint) { //只对跟踪目标造成伤害的跟踪弹. } else { XkGameCtrl.GetInstance().SubGamePlayerHealth(playerScript.PlayerIndex, PlayerDamage); } } } } // TimeScaleVal = Time.timeScale; posArray[0] = AmmoTran.position; posArray[1] = firePos; #if !USE_SPHERE_HIT AmmoStartPos = posArray[0]; AmmoEndPos = firePos; #endif iTween.MoveTo(ObjAmmo, iTween.Hash("path", posArray, "speed", MvSpeed, "orienttopath", true, "easeType", iTween.EaseType.linear, "oncomplete", "MoveAmmoOnCompelteITween")); }
IEnumerator DelayActivePlayerToGame(XKPlayerMoveCtrl playerScript) { playerScript.SetIsActiveZhuiYa(true); XKGlobalData.GetInstance().PlayAudioXuanYaDiaoLuo(); XkGameCtrl.GetInstance().SubGamePlayerHealth(playerScript.PlayerIndex, PlayerDamage, true); if (!XkGameCtrl.GetIsActivePlayer(playerScript.PlayerIndex)) { playerScript.SetIsActiveZhuiYa(false); yield break; } yield return(new WaitForSeconds(TimeResetPlayer)); XkGameCtrl.ActivePlayerToGame(playerScript.PlayerIndex, true); playerScript.SetIsActiveZhuiYa(false); }
/// <summary> /// 显示抽奖提示UI. /// </summary> internal void ShowChouJiangTiShi(PlayerEnum indexVal) { SSChouJiangTiShi tiShiCom = CreateChouJiangTiShi(); if (tiShiCom == null) { return; } if (XKPlayerMoveCtrl.GetInstance(indexVal) != null) { Transform playerTr = XKPlayerMoveCtrl.GetInstance(indexVal).PiaoFenPoint; Vector3 startPos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position); tiShiCom.ShowChouJiangTiShi(indexVal, startPos); } }
/// <summary> /// 攻击已经得到战车代金券的玩家的跟踪弹. /// </summary> public void SetGenZongDanAimTarget(XKPlayerMoveCtrl playerCom) { if (AmmoType != PlayerAmmoType.GenZongAmmo) { return; } //SSDebug.LogWarning("SetGenZongDanAimTarget -> *** TestGenZongDanNum ================== " + TestGenZongDanNum); if (TargetObject != null || playerCom == null) //跟踪弹的跟踪对象已经存在时不再更新. //if (playerCom == null) //强制刷新跟踪弹的跟踪对象. { return; } IsOnlyHitTarget = true; TargetObject = playerCom.GenZongDanAimPoint; }
public void ShowPlayerJiSu(PlayerEnum indexVal) { XKPlayerJiSuMove jiSuMoveCom = GetXKPlayerJiSuMove(); if (jiSuMoveCom == null) { return; } Transform playerTr = XKPlayerMoveCtrl.GetInstance(indexVal).PiaoFenPoint; // playerTr = TestPlayerTr; //test Vector3 startPos = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position); jiSuMoveCom.SetPlayerJiSuVal(startPos); }
void OnTriggerEnter(Collider other) { if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == false) { //关闭玩家Ai坦克运动逻辑. return; } XKPlayerMoveCtrl playerMoveCom = other.GetComponent <XKPlayerMoveCtrl>(); if (playerMoveCom == null || playerMoveCom.m_PlayerAiMove == null) { return; } playerMoveCom.m_PlayerAiMove.OnHitAiMoveTrigger(m_TriggerState); }