public void ActiveJiFenJieMian() { if (Network.peerType == NetworkPeerType.Server) { return; } if (JiFenJieMianObj.activeSelf) { return; } // FinishTaskObj.SetActive(false); IsShowFinishTask = true; IsMakeJiFenStop = false; pcvr.CloseAllQiNangArray(PlayerEnum.Null, 1); if (!JiFenZongJieMianObj.activeSelf) { CoinPlayerCtrl.GetInstanceOne().HiddenPlayerCoin(); CoinPlayerCtrl.GetInstanceTwo().HiddenPlayerCoin(); CoinPlayerCtrl.GetInstanceThree().HiddenPlayerCoin(); CoinPlayerCtrl.GetInstanceFour().HiddenPlayerCoin(); GameTimeCtrl.GetInstance().HiddenGameTime(); DaoJuCtrl.GetInstance().HiddenAllPlayerDaoJu(); DongGanUICtrl.InstanceOne.HiddenDongGanUI(); DongGanUICtrl.InstanceTwo.HiddenDongGanUI(); DongGanUICtrl.InstanceThree.HiddenDongGanUI(); DongGanUICtrl.InstanceFour.HiddenDongGanUI(); JiFenZongJieMianObj.SetActive(true); } PaiMingCtrl.GetInstance().ShowGamePaiMing(); System.GC.Collect(); JiFenJieMianObj.SetActive(true); Invoke("StopJiFenTime", 8f); }
public void StopJiFenTime() { if (Time.realtimeSinceStartup - TimeStartVal < 8f) { Debug.Log("Unity:" + "StopJiFenTime -> TimeStartVal was wrong!"); return; } if (IsMakeJiFenStop) { return; } IsMakeJiFenStop = true; IsShowFinishTask = false; JiFenJieMianObj.SetActive(false); Debug.Log("Unity:" + "StopJiFenTime..."); if (GameOverCtrl.IsShowGameOver) { XkGameCtrl.LoadingGameMovie(); return; } CountJiFenOpen++; #if CREAT_GAME_SCENE //动态加载下一关的游戏场景预制文件. XkGameCtrl.GetInstance().m_CreatSceneCom.CreatGameScene(CountJiFenOpen); #endif #if USE_LOADING_NEXT_SCENE //直接加载下一关的游戏场景. if (Application.loadedLevel < 4) { Application.LoadLevel(Application.loadedLevel + 1); } else { Application.LoadLevel(0); } #endif //CountJiFenOpen = 4; //test. if (CountJiFenOpen < 4) { XKBossXueTiaoCtrl.IsWuDiPlayer = false; XKTriggerStopMovePlayer.IsActiveTrigger = false; GameTimeCtrl.GetInstance().OpenGameTime(); CoinPlayerCtrl.GetInstanceOne().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceTwo().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceThree().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceFour().ShwoPlayerCoin(); DaoJuCtrl.GetInstance().ShowAllPlayerDaoJu(); XKPlayerScoreCtrl.ShowPlayerScore(PlayerEnum.Null); } else { QuanBuTongGuanCtrl.GetInstance().ShowQuanBuTongGuan(); } }
void MoveDaoJuOnCompelte() { gameObject.SetActive(false); if (TweenScale != null) { Destroy(TweenScale); } DaoJuCtrl.GetInstance().ShowPlayerDaoJu(PlayerIndex, BuJiVal); }
// Use this for initialization void Start() { _Instance = this; DaoJuObjList = new List <GameObject>(); /*UITexturePlayer = new UITexture[DaoJuLength]; * for (int i = 0; i < DaoJuLength; i++) { * UITexturePlayer[i] = DaoJuEndTr[i].GetComponent<UITexture>(); * }*/ HiddenPlayerDaoJuObj(PlayerEnum.PlayerOne); HiddenPlayerDaoJuObj(PlayerEnum.PlayerTwo); HiddenPlayerDaoJuObj(PlayerEnum.PlayerThree); HiddenPlayerDaoJuObj(PlayerEnum.PlayerFour); }
public void StopJiFenTime() { if (Time.realtimeSinceStartup - TimeStartVal < 8f) { Debug.Log("Unity:" + "StopJiFenTime -> TimeStartVal was wrong!"); return; } if (IsMakeJiFenStop) { return; } IsMakeJiFenStop = true; IsShowFinishTask = false; JiFenJieMianObj.SetActive(false); Debug.Log("Unity:" + "StopJiFenTime..."); if (GameOverCtrl.IsShowGameOver) { XkGameCtrl.LoadingGameMovie(); return; } CountJiFenOpen++; //CountJiFenOpen = 4; //test. if (CountJiFenOpen < 4) { XKBossXueTiaoCtrl.IsWuDiPlayer = false; XKTriggerStopMovePlayer.IsActiveTrigger = false; if (GameTimeCtrl.GetInstance() != null) { GameTimeCtrl.GetInstance().OpenGameTime(); } CoinPlayerCtrl.GetInstanceOne().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceTwo().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceThree().ShwoPlayerCoin(); CoinPlayerCtrl.GetInstanceFour().ShwoPlayerCoin(); DaoJuCtrl.GetInstance().ShowAllPlayerDaoJu(); XKPlayerScoreCtrl.ShowPlayerScore(PlayerEnum.Null); } else { if (QuanBuTongGuanCtrl.GetInstance() != null) { QuanBuTongGuanCtrl.GetInstance().ShowQuanBuTongGuan(); } } }
void MoveAmmoOnCompelteITween() { switch (AmmoState) { case AmmoType.PuTong: { if (mAmmoInfo.AimTr != null) { DaoJuCtrl daoJuCom = mAmmoInfo.AimTr.GetComponent <DaoJuCtrl>(); if (daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { //障碍物爆炸. daoJuCom.OnDestroyThis(); } } break; } case AmmoType.TankPaoDan: { CheckAmmoOverlapSphereHit(); break; } case AmmoType.DiLei: { if (mAmmoInfo.AimTr != null) { DaoJuCtrl daoJuCom = mAmmoInfo.AimTr.GetComponent <DaoJuCtrl>(); if (daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { //障碍物爆炸. daoJuCom.OnDestroyThis(); } } else { CheckAmmoOverlapSphereHit(); } break; } } OnDestroyThis(); }
/// <summary> /// 检测子弹的范围碰撞. /// </summary> void CheckAmmoOverlapSphereHit(Transform posTr = null) { bool isDestroyAmmo = false; Vector3 pos = posTr == null ? transform.position : posTr.position; Collider[] hits = Physics.OverlapSphere(pos, ShaShangDis, AmmoHitLayer); for (int i = 0; i < hits.Length; i++) { // Don't collide with triggers if (hits[i].isTrigger) { continue; } DaoJuCtrl daoJuCom = hits[i].GetComponent <DaoJuCtrl>(); if (daoJuCom != null && daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { daoJuCom.OnDestroyThis(); isDestroyAmmo = true; } NpcController npcCom = hits[i].GetComponent <NpcController>(); if (npcCom != null) { npcCom.OnDaoDanHit(transform.position); isDestroyAmmo = true; } npcScript npcSp = hits[i].GetComponent <npcScript>(); if (npcSp != null) { npcSp.OnDestroyThis(); isDestroyAmmo = true; } } if (isDestroyAmmo) { OnDestroyThis(); } }
/// <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); }
/// <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); }
/// <summary> /// 检测子弹的范围碰撞. /// </summary> void CheckAmmoOverlapSphereHit(Transform posTr = null) { bool isDestroyAmmo = false; Vector3 pos = posTr == null ? transform.position : posTr.position; Collider[] hits = Physics.OverlapSphere(pos, ShaShangDis, AmmoHitLayer); for (int i = 0; i < hits.Length; i++) { // Don't collide with triggers if (hits[i].isTrigger) { continue; } DaoJuCtrl daoJuCom = hits[i].GetComponent <DaoJuCtrl>(); if (daoJuCom != null && daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { if (PlayerController.GetInstance() != null) { PlayerController.GetInstance().NetSendAmmoHitZhangAiWuInfo(daoJuCom); } daoJuCom.OnDestroyThis(); isDestroyAmmo = true; } NpcController npcCom = hits[i].GetComponent <NpcController>(); if (npcCom != null) { npcCom.OnDaoDanHit(transform.position); isDestroyAmmo = true; } npcScript npcSp = hits[i].GetComponent <npcScript>(); if (npcSp != null) { npcSp.OnDestroyThis(); isDestroyAmmo = true; break; } PlayerController playerScript = hits[i].GetComponent <PlayerController>(); if (playerScript != null && IsNetControlPort) { playerScript.OnAmmoHitPlayer(); } } if (AmmoState == AmmoType.DiLei || AmmoState == AmmoType.TankPaoDan) { //地雷和坦克炮弹强制删除. isDestroyAmmo = true; } if (!IsNetControlPort) { //非主控制端时,由主控制端来删除网络子弹. isDestroyAmmo = false; } if (isDestroyAmmo) { OnDestroyThis(); } }
void MoveAmmoOnCompelteITween() { switch (AmmoState) { case AmmoType.PuTong: { if (mAmmoInfo.AimTr != null) { DaoJuCtrl daoJuCom = mAmmoInfo.AimTr.GetComponent <DaoJuCtrl>(); if (daoJuCom != null && daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { //障碍物爆炸. if (PlayerController.GetInstance() != null) { PlayerController.GetInstance().NetSendAmmoHitZhangAiWuInfo(daoJuCom); } daoJuCom.OnDestroyThis(); } } break; } case AmmoType.TankPaoDan: { CheckAmmoOverlapSphereHit(); break; } case AmmoType.DiLei: { if (mAmmoInfo.AimTr != null) { DaoJuCtrl daoJuCom = mAmmoInfo.AimTr.GetComponent <DaoJuCtrl>(); if (daoJuCom != null && daoJuCom.DaoJuState == DaoJuCtrl.DaoJuType.ZhangAiWu) { //障碍物爆炸. if (PlayerController.GetInstance() != null) { PlayerController.GetInstance().NetSendAmmoHitZhangAiWuInfo(daoJuCom); } daoJuCom.OnDestroyThis(); } NpcController npcCom = mAmmoInfo.AimTr.GetComponent <NpcController>(); if (npcCom != null) { npcCom.OnDaoDanHit(transform.position); } PlayerController playerCom = mAmmoInfo.AimTr.GetComponent <PlayerController>(); if (playerCom != null && IsNetControlPort) { playerCom.OnAmmoHitPlayer(); } } else { CheckAmmoOverlapSphereHit(); } break; } } OnDestroyThis(); }