void CheckServerPortCamera() { switch (CameraType) { case PlayerTypeEnum.FeiJi: if (XkPlayerCtrl.GetInstanceFeiJi() == null) { if (XkPlayerCtrl.GetInstanceTanKe() != null) { CloseCameraServer(); ServerPortCameraCtrl.GetInstanceTK().ActiveServerPortCamera(); } return; } break; case PlayerTypeEnum.TanKe: if (XkPlayerCtrl.GetInstanceTanKe() == null) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { CloseCameraServer(); ServerPortCameraCtrl.GetInstanceFJ().ActiveServerPortCamera(); } return; } break; } }
public void ShowHeTiPlayerObj() { IsActiveHeTiPlayer = true; Transform playerTran = null; if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().StopMovePlayer(); playerTran = XkPlayerCtrl.GetInstanceFeiJi().transform; playerTran.parent = FeiJiPlayerPoint; playerTran.localPosition = Vector3.zero; playerTran.localEulerAngles = Vector3.zero; XkPlayerCtrl.GetInstanceFeiJi().SetPlayerCameraTran(1); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().StopMovePlayer(); XkPlayerCtrl.GetInstanceTanKe().ClosePlayerRigidbody(); playerTran = XkPlayerCtrl.GetInstanceTanKe().transform; playerTran.parent = TanKePlayerPoint; playerTran.localPosition = Vector3.zero; playerTran.localEulerAngles = Vector3.zero; XkPlayerCtrl.GetInstanceTanKe().SetPlayerCameraTran(1); } //HeTiPlayerObj.SetActive(true); }
IEnumerator LoopCheckPlayerRestartMove() { bool isLoopCheck = true; do { yield return(new WaitForSeconds(0.1f)); if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiFeiJi) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer(); XkGameCtrl.GetInstance().ChangePlayerCameraTag(); isLoopCheck = false; yield break; } } if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiTanKe) { if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer(); XkGameCtrl.GetInstance().ChangePlayerCameraTag(); isLoopCheck = false; yield break; } } } while (isLoopCheck); }
[RPC] void NetCtrlSendTryActiveHeTiPlayerEvent() { if (XKTriggerClosePlayerUI.GetInstance() != null) { XkPlayerCtrl playerScript = null; if (Network.peerType == NetworkPeerType.Server) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { playerScript = XkPlayerCtrl.GetInstanceFeiJi(); } else if (XkPlayerCtrl.GetInstanceTanKe() != null) { playerScript = XkPlayerCtrl.GetInstanceTanKe(); } } else if (Network.peerType == NetworkPeerType.Client) { if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai) { playerScript = XkPlayerCtrl.GetInstanceFeiJi(); } else if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai) { playerScript = XkPlayerCtrl.GetInstanceTanKe(); } } XKTriggerClosePlayerUI.GetInstance().HandlePlayerOnTriggerEnter(playerScript); } }
[RPC] void NetCtrlMakeClientPlayerMove() { Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove......"); if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiFeiJi) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer(); XkGameCtrl.GetInstance().ChangePlayerCameraTag(); } else { Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove -> FeiJiPlayer is null"); StartCoroutine(LoopCheckPlayerRestartMove()); } } if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiTanKe) { if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer(); XkGameCtrl.GetInstance().ChangePlayerCameraTag(); } else { Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove -> TanKePlayer is null"); StartCoroutine(LoopCheckPlayerRestartMove()); } } }
Vector3 GetTanKePlayerFirePos() { int randVal = Random.Range(0, 100); Vector3 firePos = Vector3.zero; if (randVal < 25) { firePos = XkPlayerCtrl.PlayerTranTanKe.position; } else if (randVal < 50) { firePos = XKPlayerCamera.TanKeCameraTan.position; } else { int lengthVal = XkPlayerCtrl.GetInstanceTanKe().NpcFirePosArray.Length; if (lengthVal < 1) { if (randVal % 2 == 0) { firePos = XkPlayerCtrl.PlayerTranTanKe.position; } else { firePos = XKPlayerCamera.TanKeCameraTan.position; } } else { int index = randVal % lengthVal; firePos = XkPlayerCtrl.GetInstanceTanKe().NpcFirePosArray[index].position; } } return(firePos); }
public static void CloseAllServerPortCamera() { Debug.Log("CloseAllServerPortCamera..."); _InstanceFJ.CloseCameraServer(); _InstanceTK.CloseCameraServer(); if (XkPlayerCtrl.GetInstanceFeiJi() == null && XkPlayerCtrl.GetInstanceTanKe() == null) { return; } if (XkPlayerCtrl.GetInstanceFeiJi() != null && XkPlayerCtrl.GetInstanceTanKe() != null) { XKPlayerCamera.GetInstanceFeiJi().SetEnableCamera(true); return; } if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XKPlayerCamera.GetInstanceFeiJi().SetEnableCamera(true); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XKPlayerCamera.GetInstanceTanKe().SetEnableCamera(true); } }
/// <summary> /// 检测玩家是否进入空袭警戒范围. /// </summary> void CheckPlayerIsIntoKongXiJingJie() { if (!XkGameCtrl.IsActivePlayerOne && !XkGameCtrl.IsActivePlayerTwo) { return; } if (IsPlayerIntoKongXiJingJie) { return; } Vector3 pos1 = KongXiDt.KongXiDianObj.transform.position; Vector3 pos2 = XkPlayerCtrl.GetInstanceTanKe().transform.position; pos1.y = pos2.y = 0f; if (Vector3.Distance(pos1, pos2) <= KongXiDt.DamageDis) { IsPlayerIntoKongXiJingJie = true; if (GameUICenterCtrl.GetInstance() != null) { GameUICenterCtrl.GetInstance().SpawnKongXiShanHongUI(); } } }
public void ActiveJiFenJieMian() { if (Network.peerType == NetworkPeerType.Server) { return; } if (JiFenJieMianObj.activeSelf) { return; } FinishTaskObj.SetActive(false); if (!JiFenZongJieMianObj.activeSelf) { DanYaoInfoCtrl.GetInstanceOne().HiddenPlayerDanYaoInfo(); DanYaoInfoCtrl.GetInstanceTwo().HiddenPlayerDanYaoInfo(); ZhunXingCtrl.GetInstanceOne().SetActiveZhunXingObj(false); ZhunXingCtrl.GetInstanceTwo().SetActiveZhunXingObj(false); CoinPlayerCtrl.GetInstanceOne().HiddenPlayerCoin(); CoinPlayerCtrl.GetInstanceTwo().HiddenPlayerCoin(); YouLiangAddCtrl.GetInstance().HiddenYouLiangAdd(); YouLiangCtrl.GetInstance().HiddenYouLiang(); JiFenZongJieMianObj.SetActive(true); } else { XkGameCtrl.HiddenMissionCleanup(); if (Network.peerType == NetworkPeerType.Client) { if (NetCtrl.GetInstance() != null) { NetCtrl.GetInstance().TryCloseServerPort(); } } } System.GC.Collect(); if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().StopPlayerMoveAudio(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().StopPlayerMoveAudio(); } JiFenJieMianObj.SetActive(true); if (XkGameCtrl.IsPlayGamePOne) { XunZhangJBCtrl.GetInstanceOne().ShowPlayerXunZhangJB(); } if (XkGameCtrl.IsPlayGamePTwo) { XunZhangJBCtrl.GetInstanceTwo().ShowPlayerXunZhangJB(); } }
void CheckTanKePlayerAimPoint() { if (TanKePlayerAimPoint == null) { return; } if (XkPlayerCtrl.GetInstanceTanKe() == null) { return; } }
/// <summary> /// 循环产生空袭导弹. /// </summary> IEnumerator LoopSpawnKongXiDaoDan(GameObject playerDaoDan) { bool isDamagePlayer = false; do { if (KongXiDt.IsRemoveKongXiZuDang) { Debug.Log("LoopSpawnKongXiDaoDan -> stop!"); yield break; } Debug.Log("LoopSpawnKongXiDaoDan -> time " + Time.time); int max = KongXiDt.AmmoPointTr.Length; for (int i = 0; i < max; i++) { if (mPlayerScript != null && KongXiDt.AmmoPointTr[i] != null) { KongXiDt.AmmoPointTr[i].gameObject.SetActive(false); mPlayerScript.SpawnPlayerDaoDan(KongXiDt.AmmoPointTr[i], playerDaoDan); } } if (!isDamagePlayer) { Vector3 pos1 = KongXiDt.KongXiDianObj.transform.position; Vector3 pos2 = XkPlayerCtrl.GetInstanceTanKe().transform.position; pos1.y = pos2.y = 0f; if (Vector3.Distance(pos1, pos2) <= KongXiDt.DamageDis) { isDamagePlayer = true; XkGameCtrl.GetInstance().SubPlayerYouLiang(PlayerEnum.PlayerOne, KongXiDt.PlayerDamage); XkGameCtrl.GetInstance().SubPlayerYouLiang(PlayerEnum.PlayerTwo, KongXiDt.PlayerDamage); if (GameUICenterCtrl.GetInstance() != null) { GameUICenterCtrl.GetInstance().RemoveKongXiZuDangUI(); GameUICenterCtrl.GetInstance().RemoveKongXiShanHongUI(); GameUICenterCtrl.GetInstance().RemoveKongXiDaoJishiUI(); GameUICenterCtrl.GetInstance().SpawnKongXiJiZhongUI(); } if (mPlayerScript.GetPlayerCameraScript() != null) { //画面开始变黑白. mPlayerScript.GetPlayerCameraScript().mCameraColorChange.Init(); } } } yield return(new WaitForSeconds(KongXiDt.TimeLoopDaoDan)); }while (!KongXiDt.IsRemoveKongXiZuDang); }
void GetCameraFollowTran() { CameraIndex = (CameraIndex + 1 + (Random.Range(0, 100) % 3)) % 4; // Debug.Log("GetCameraFollowTran -> indexCam "+CameraIndex+", CameraType "+CameraType); // Debug.Log("CountFJ "+CountFJ+", CountTK "+CountTK); Transform tran = null; switch (CameraType) { case PlayerTypeEnum.FeiJi: _InstanceTK.CloseCameraServer(); tran = XkPlayerCtrl.GetInstanceFeiJi().PlayerCamPoint[CameraIndex]; break; case PlayerTypeEnum.TanKe: _InstanceFJ.CloseCameraServer(); tran = XkPlayerCtrl.GetInstanceTanKe().PlayerCamPoint[CameraIndex]; break; } FollowTran = tran; }
/** * key == 1 -> 隐藏主角. */ public void OpenScreenDanHui(int key = 0) { if (ScreenDanHeiObj.activeSelf) { return; } ScreenDanHeiObj.SetActive(true); if (DanHeiTweenAlpha != null) { DestroyObject(DanHeiTweenAlpha); } DanHeiTweenAlpha = ScreenDanHeiObj.AddComponent <TweenAlpha>(); DanHeiTweenAlpha.enabled = false; DanHeiTweenAlpha.from = 1f; DanHeiTweenAlpha.to = 0f; EventDelegate.Add(DanHeiTweenAlpha.onFinished, delegate { Invoke("HiddeScreenDanHeiObj", 0.1f); }); DanHeiTweenAlpha.enabled = true; DanHeiTweenAlpha.PlayForward(); IsOpenHiddeScreenDanHeiObj = true; IsHiddeScreenDanHeiObj = false; m_LastTimeHiddeScreenDanHei = Time.time; switch (key) { case 1: if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().HandlePlayerHiddenArray(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().HandlePlayerHiddenArray(); } break; } }
[RPC] void NetCtrlSendTryActiveGameOverEvent() { XkPlayerCtrl playerScript = null; if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai) { playerScript = XkPlayerCtrl.GetInstanceFeiJi(); if (playerScript == null) { playerScript = XkPlayerCtrl.GetInstanceTanKe(); } } else if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai) { playerScript = XkPlayerCtrl.GetInstanceTanKe(); if (playerScript == null) { playerScript = XkPlayerCtrl.GetInstanceFeiJi(); } } XKTriggerGameOver.GetInstance().SpawnPlayerDaoDan(playerScript); }
public void ActiveGameUiCamera() { if (!XkGameCtrl.GetInstance().IsCartoonShootTest && !XkGameCtrl.GetInstance().IsServerCameraTest) { if (Network.peerType != NetworkPeerType.Server) { GameUiCamera.enabled = true; } } StartCameraObj.SetActive(false); ScreenDanHeiObj.SetActive(false); if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().OpenPlayerMoveAudio(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().OpenPlayerMoveAudio(); } }
public void ActiveJiFenJieMian() { if (Network.peerType == NetworkPeerType.Server) { return; } if (JiFenJieMianObj.activeSelf) { return; } FinishTaskObj.SetActive(false); if (!JiFenZongJieMianObj.activeSelf) { DanYaoInfoCtrl.GetInstanceOne().HiddenPlayerDanYaoInfo(); DanYaoInfoCtrl.GetInstanceTwo().HiddenPlayerDanYaoInfo(); ZhunXingCtrl.GetInstanceOne().SetActiveZhunXingObj(false); ZhunXingCtrl.GetInstanceTwo().SetActiveZhunXingObj(false); CoinPlayerCtrl.GetInstanceOne().HiddenPlayerCoin(); CoinPlayerCtrl.GetInstanceTwo().HiddenPlayerCoin(); YouLiangAddCtrl.GetInstance().HiddenYouLiangAdd(); YouLiangCtrl.GetInstance().HiddenYouLiang(); JiFenZongJieMianObj.SetActive(true); } else { XkGameCtrl.HiddenMissionCleanup(); if (Network.peerType == NetworkPeerType.Client) { if (NetCtrl.GetInstance() != null) { NetCtrl.GetInstance().TryCloseServerPort(); } } } System.GC.Collect(); if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().StopPlayerMoveAudio(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().StopPlayerMoveAudio(); } JiFenJieMianObj.SetActive(true); if (XkGameCtrl.IsPlayGamePOne) { XunZhangJBCtrl.GetInstanceOne().ShowPlayerXunZhangJB(); } if (XkGameCtrl.IsPlayGamePTwo) { XunZhangJBCtrl.GetInstanceTwo().ShowPlayerXunZhangJB(); } pcvr.CloseGunZhenDongDengJi(); pcvr.CloseAllQiNangArray(); if (pcvr.GetInstance() != null) { pcvr.GetInstance().CloseFangXiangPanPower(PlayerEnum.Null); } Invoke("DelayForceRestartComPort", 0.5f); }
void OnSreenAlphaToMax() { GameMode modeVal = XkGameCtrl.GameModeVal; Debug.Log("OnSreenAlphaToMax -> GameMode " + modeVal); bool isClearCartoonNpc = true; if (!XKTriggerOpenPlayerUI.IsActiveOpenPlayerUI) { XKPlayerCamera.GetInstanceCartoon().SetActiveCamera(false); } switch (modeVal) { case GameMode.DanJiFeiJi: XkPlayerCtrl.GetInstanceFeiJi().MakePlayerFlyToPathMark(); break; case GameMode.DanJiTanKe: XkPlayerCtrl.GetInstanceTanKe().MakePlayerFlyToPathMark(); break; case GameMode.LianJi: if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().MakePlayerFlyToPathMark(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().MakePlayerFlyToPathMark(); } if (Network.peerType != NetworkPeerType.Disconnected) { isClearCartoonNpc = false; } if (Network.peerType == NetworkPeerType.Client) { NetCtrl.GetInstance().SendSetScreenDanHeiIsStartGame(); } break; } DestroyObject(DanHeiTweenAlpha); DanHeiTweenAlpha = ScreenDanHeiObj.AddComponent <TweenAlpha>(); DanHeiTweenAlpha.enabled = false; DanHeiTweenAlpha.from = 1f; DanHeiTweenAlpha.to = 0f; EventDelegate.Add(DanHeiTweenAlpha.onFinished, delegate { Invoke("OnSreenAlphaToMin", 0.2f); }); DanHeiTweenAlpha.enabled = true; DanHeiTweenAlpha.PlayForward(); if (isClearCartoonNpc) { XkGameCtrl.ClearCartoonSpawnNpc(); } if (Network.peerType != NetworkPeerType.Server) { IsStartGame = true; } Time.timeScale = 1.0f; switch (modeVal) { case GameMode.DanJiFeiJi: XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer(); break; case GameMode.DanJiTanKe: XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer(); break; case GameMode.LianJi: if (Network.peerType != NetworkPeerType.Server) { if (Network.peerType != NetworkPeerType.Client) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer(); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer(); } XKCameraMapCtrl.GetInstance().SetCameraMapState(); //test } else { //SendServerMovePlayer NetCtrl.GetInstance().SetScreenDanHieStartMovePlayer(); } } else { AddStartMovePlayerCount(); } break; } }
public void ActiveServerPortCamera() { if (XkPlayerCtrl.GetInstanceFeiJi() == null && XkPlayerCtrl.GetInstanceTanKe() == null) { return; } switch (CameraType) { case PlayerTypeEnum.FeiJi: if (XkPlayerCtrl.GetInstanceFeiJi() == null) { _InstanceTK.ActiveServerPortCamera(); return; } break; case PlayerTypeEnum.TanKe: if (XkPlayerCtrl.GetInstanceTanKe() == null) { _InstanceFJ.ActiveServerPortCamera(); return; } break; } GetCameraFollowTran(); if (FollowTran != null) { if (IsFollowTest) { CameraTran.position = FollowTran.position; CameraTran.rotation = FollowTran.rotation; } else { CameraTran.parent = FollowTran; CameraTran.localPosition = Vector3.zero; CameraTran.localEulerAngles = Vector3.zero; } CameraObj.SetActive(true); switch (CameraType) { case PlayerTypeEnum.FeiJi: if (LookCamera.GetInstanceFJ() != null) { LookCamera.GetInstanceFJ().SetLookCameraActive(false); } if (LookCamera.GetInstanceTK() != null) { LookCamera.GetInstanceTK().SetLookCameraActive(true); } break; case PlayerTypeEnum.TanKe: if (LookCamera.GetInstanceFJ() != null) { LookCamera.GetInstanceFJ().SetLookCameraActive(true); } if (LookCamera.GetInstanceTK() != null) { LookCamera.GetInstanceTK().SetLookCameraActive(false); } break; } } float randTime = Random.Range(MinRandTime, MaxRandTime); Invoke("DelayRandOpenServerPortCamera", randTime); }
void OnTriggerEnter(Collider other) { if (XKTriggerKaQiuShaFire.IsCloseKaQiuShaTest) { return; //test; } if (Network.peerType != NetworkPeerType.Disconnected) { if (Network.peerType == NetworkPeerType.Server) { if (FeiJiMarkCom != null && TanKeMarkCom != null) { IsActiveHeTiCloseUI = true; ServerPortCameraCtrl.CloseAllServerPortCamera(); } return; } } if (DaoJiShiCtrl.GetInstance().GetIsPlayDaoJishi() || GameOverCtrl.IsShowGameOver) { return; } XkPlayerCtrl playerScript = other.GetComponent <XkPlayerCtrl>(); if (playerScript == null) { return; } if (playerScript.PlayerSt == PlayerTypeEnum.FeiJi && XkGameCtrl.GameJiTaiSt != GameJiTaiType.FeiJiJiTai) { return; } if (playerScript.PlayerSt == PlayerTypeEnum.TanKe && XkGameCtrl.GameJiTaiSt != GameJiTaiType.TanKeJiTai) { return; } if (FeiJiMarkCom != null && TanKeMarkCom != null && IsActiveHeTiCloseUI) { return; } IsClosePlayerUI = true; CheckIsPlayDaoJiShi(); ScreenDanHeiCtrl.GetInstance().ClosePlayerUI(); if (FeiJiMarkCom != null && TanKeMarkCom != null) { IsActiveHeTiCloseUI = true; if (Network.peerType == NetworkPeerType.Client && NetCtrl.GetInstance() != null) { NetCtrl.GetInstance().TryActiveHeTiPlayerEvent(); } ScreenDanHeiCtrl.GetInstance().OpenStartCamera(); ScreenDanHeiCtrl.GetInstance().OpenScreenDanHui(1); GameMode modeVal = XkGameCtrl.GameModeVal; switch (modeVal) { case GameMode.DanJiFeiJi: playerScript.MakePlayerMoveToAiMark(FeiJiMarkCom); break; case GameMode.DanJiTanKe: playerScript.MakePlayerMoveToAiMark(TanKeMarkCom); break; case GameMode.LianJi: if (Network.peerType != NetworkPeerType.Disconnected) { if (XkPlayerCtrl.GetInstanceFeiJi() != null) { XkPlayerCtrl.GetInstanceFeiJi().MakePlayerMoveToAiMark(FeiJiMarkCom); } if (XkPlayerCtrl.GetInstanceTanKe() != null) { XkPlayerCtrl.GetInstanceTanKe().MakePlayerMoveToAiMark(TanKeMarkCom); } } else { XkPlayerCtrl.GetInstanceFeiJi().MakePlayerMoveToAiMark(FeiJiMarkCom); XkPlayerCtrl.GetInstanceTanKe().MakePlayerMoveToAiMark(TanKeMarkCom); } // if (XkGameCtrl.GetInstance().IsServerCameraTest) { // ServerPortCameraCtrl.CloseAllServerPortCamera(); // } break; } } gameObject.SetActive(false); }