public void HiddenPlayerDaoJuObj(PlayerEnum indexPlayer, BuJiBaoType buJiState = BuJiBaoType.Null) { int indexVal = (int)indexPlayer - 1; switch (buJiState) { case BuJiBaoType.NLHuDun: break; case BuJiBaoType.ShuangBeiFenShuDJ: indexVal = (int)indexPlayer + 7; DaoJuEndTr[indexVal].gameObject.SetActive(false); break; case BuJiBaoType.JiSuDJ: indexVal = (int)indexPlayer + 11; DaoJuEndTr[indexVal].gameObject.SetActive(false); break; default: DaoJuEndTr[indexVal].gameObject.SetActive(false); indexVal = (int)indexPlayer + 3; DaoJuEndTr[indexVal].gameObject.SetActive(false); indexVal = (int)indexPlayer + 7; DaoJuEndTr[indexVal].gameObject.SetActive(false); indexVal = (int)indexPlayer + 11; DaoJuEndTr[indexVal].gameObject.SetActive(false); break; } }
/** * paoKou == 0 -> 机枪炮口. * paoKou == 1 -> 主炮炮口. */ void CheckPlayerHouZuoLi(BuJiBaoType daoJuType, int paoKou) { float pushPower = 50f; switch (daoJuType) { case BuJiBaoType.QianHouFireDJ: pushPower = XKPlayerGlobalDt.GetInstance().QianHouFirePTPower; break; case BuJiBaoType.ChangChengJiQiang: pushPower = XKPlayerGlobalDt.GetInstance().ChangChengFirePTPower; break; case BuJiBaoType.SanDanJiQiang: pushPower = XKPlayerGlobalDt.GetInstance().SanDanFirePTPower; break; case BuJiBaoType.QiangJiJiQiang: pushPower = XKPlayerGlobalDt.GetInstance().QiangJiFirePTPower; break; case BuJiBaoType.ChuanTouDan: pushPower = XKPlayerGlobalDt.GetInstance().ChuanJiaDanZPPower; break; case BuJiBaoType.PaiJiPaoDJ: pushPower = XKPlayerGlobalDt.GetInstance().PaiJiPaoZPPower; break; case BuJiBaoType.ZhuPaoSanDanDJ: pushPower = XKPlayerGlobalDt.GetInstance().SanDanZPPower; break; case BuJiBaoType.HuoLiAllOpenDJ: if (paoKou == JI_QIANG_INDEX) { pushPower = XKPlayerGlobalDt.GetInstance().HuoLiQuanKaiPTPower; } if (paoKou == ZHU_PAO_INDEX) { pushPower = XKPlayerGlobalDt.GetInstance().HuoLiQuanKaiZPPower; } break; default: if (paoKou == JI_QIANG_INDEX) { pushPower = XKPlayerGlobalDt.GetInstance().JiQiangFirePTPower; } if (paoKou == ZHU_PAO_INDEX) { pushPower = XKPlayerGlobalDt.GetInstance().ZhuPaoFireZPPower; } break; } Vector3 pushDir = IsLockPaoTa == false ? -TanKeTran.forward : -PaoTaTr.forward; if (IsLockPaoTa && CameraTran != null) { Vector3 veA = CameraTran.forward; Vector3 veB = TanKeTran.forward; veA.y = veB.y = 0f; float angleVal = Mathf.Clamp(Vector3.Angle(veA, veB), 0f, 90f); if (angleVal > 5f) { return; } } PlayerMoveScript.PushPlayerTanKe(pushDir, pushPower); }
// public PlayerEnum TestPlayerIndex; // public Transform DaoJuTest; // Update is called once per frame // void Update() // { // if (pcvr.bIsHardWare && Camera.main == null) { // return; // } // // if (Input.GetKeyUp(KeyCode.M)) { // MoveDaoJuObjToPlayer(TestPlayerIndex, DaoJuTest); // } // } public void MoveDaoJuObjToPlayer(PlayerEnum indexVal, Transform daoJuTr) { int indexDJ = (int)indexVal - 1; Vector3[] path = new Vector3[2]; path[0] = Camera.main.WorldToScreenPoint(daoJuTr.position); path[0].x = (XkGameCtrl.ScreenWidth * path[0].x) / Screen.width; path[0].y = (XkGameCtrl.ScreenHeight * path[0].y) / Screen.height; BuJiBaoCtrl buJiScript = daoJuTr.GetComponent <BuJiBaoCtrl>(); BuJiBaoType buJiBaoVal = buJiScript.BuJiBao; switch (buJiBaoVal) { case BuJiBaoType.ShuangBeiFenShuDJ: path[1] = DaoJuEndTr[8 + indexDJ].position; break; case BuJiBaoType.JiSuDJ: path[1] = DaoJuEndTr[12 + indexDJ].position; break; case BuJiBaoType.NLHuDun: case BuJiBaoType.HuoLiAllOpenDJ: path[1] = DaoJuEndTr[4 + indexDJ].position; break; default: path[1] = DaoJuEndTr[indexDJ].position; break; } int daoJuMax = DaoJuObjList.Count; GameObject daoJu = null; for (int i = 0; i < daoJuMax; i++) { if (DaoJuObjList[i] != null && !DaoJuObjList[i].activeSelf) { daoJu = DaoJuObjList[i]; break; } } if (daoJu == null) { daoJu = DaoJuMoveCtrl.SpawnDaoJuMoveObj(transform); DaoJuObjList.Add(daoJu); } DaoJuMoveCtrl daoJuMove = daoJu.GetComponent <DaoJuMoveCtrl>(); int indexBJ = (int)buJiScript.BuJiBao - 2; //Debug.Log("indexBJ *** "+indexBJ); daoJuMove.MoveDaoJuToPlayer(DaoJuTexture[indexBJ], indexVal, buJiScript.BuJiBao, path); }
// NetworkView NetworkViewCom; void Start() { // NetworkViewCom = GetComponent<NetworkView>(); if (transform.parent != XkGameCtrl.MissionCleanup) { transform.parent = XkGameCtrl.MissionCleanup; } if (BuJiBao == BuJiBaoType.GaoBaoDan) { BuJiBao = BuJiBaoType.DaoDan; } }
public void MoveDaoJuToPlayer(Texture daoJuTexture, PlayerEnum indexVal, BuJiBaoType buJiState, Vector3[] path) { if (!gameObject.activeSelf) { gameObject.SetActive(true); } UITextureCom.mainTexture = daoJuTexture; UITextureCom.width = daoJuTexture.width; UITextureCom.height = daoJuTexture.height; PlayerIndex = indexVal; BuJiVal = buJiState; TweenScale = gameObject.AddComponent <TweenScale>(); TweenScale.duration = 1f; float disZ = path[0].z; if (disZ > 40f) { disZ = 40f; } if (disZ < 20f) { disZ = 20f; } float scaleVal = 0.2f + ScaleKey * (disZ - 40f); TweenScale.from = new Vector3(scaleVal, scaleVal, 1f); TweenScale.to = new Vector3(0.05f, 0.05f, 1f); TweenScale.PlayForward(); TweenRot.ResetToBeginning(); TweenRot.PlayForward(); transform.localPosition = path[0]; path[0] = transform.position; path[0].z = path[1].z = 0f; float disVal = Vector3.Distance(path[0], path[1]); float speedVal = disVal / 0.2f; iTween.MoveTo(gameObject, iTween.Hash("path", path, "speed", speedVal, "orienttopath", false, "looptype", iTween.LoopType.none, "easeType", iTween.EaseType.linear, "oncomplete", "MoveDaoJuOnCompelte")); }
public void SetIsQiangJiFire(bool isFire) { if (IsQiangJiFire == isFire) { return; } IsQiangJiFire = isFire; //Debug.Log("Unity:"+"SetIsQiangJiFire -> isFire "+isFire); BuJiBaoType daoJuTypeVal = isFire == true ? BuJiBaoType.QiangJiJiQiang : BuJiBaoType.Null; JiQiangAmmoSt = daoJuTypeVal; if (isFire) { IsJiQiangSanDanFire = false; IsChangChengFire = false; IsQianHouFire = false; //IsQiangJiFire = false; } }
public void SetIsSanDanZPFire(bool isFire) { if (IsSanDanZPFire == isFire) { return; } IsSanDanZPFire = isFire; ChangePlayerPaoTaObj(isFire == true ? PlayerAmmoType.SanDanAmmo : PlayerAmmoType.Null); PlayerAmmoType ammoTypeVal = isFire == true ? PlayerAmmoType.SanDanAmmo : PlayerAmmoType.DaoDanAmmo; XKPlayerAutoFire.GetInstanceAutoFire(PlayerIndex).SetAmmoStateZhuPao(ammoTypeVal); //Debug.Log("Unity:"+"SetIsSanDanZPFire -> isFire "+isFire); BuJiBaoType daoJuTypeVal = isFire == true ? BuJiBaoType.ZhuPaoSanDanDJ : BuJiBaoType.DaoDan; ZhuPaoAmmoSt = daoJuTypeVal; if (isFire) { //IsSanDanZPFire = false; IsPaiJiPaoFire = false; } }
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; }
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; } }
/** * ammoType == 0 -> 主角机枪. * ammoType == 1 -> 主炮炮管. */ GameObject SpawnPlayerAmmoByAmmoType(int ammoIndex, Vector3 ammoSpawnPos, Quaternion ammoSpawnRot) { GameObject obj = null; GameObject ammoParticle = null; PlayerAmmoType ammoType = PlayerAmmoType.PuTongAmmo; switch (ammoIndex) { case JI_QIANG_INDEX: ammoType = AmmoStateJiQiang; break; case ZHU_PAO_INDEX: ammoType = AmmoStateZhuPao; break; } if (ammoIndex == ZHU_PAO_INDEX) { switch (ammoType) { case PlayerAmmoType.ChuanTouAmmo: ZhuPaoAmmoSt = BuJiBaoType.ChuanTouDan; break; case PlayerAmmoType.DaoDanAmmo: ZhuPaoAmmoSt = BuJiBaoType.DaoDan; break; } } //Debug.Log("Unity:"+"ammoType "+ammoType+", PlayerIndex "+PlayerIndex+", SpawnPlayerAmmoByAmmoType"); switch (ammoType) { case PlayerAmmoType.PuTongAmmo: ammoParticle = AmmoParticle[ammoIndex]; break; /*case PlayerAmmoType.GaoBaoAmmo: ammoParticle = GaoBaoAmmoParticle[ammoIndex]; //XkGameCtrl.GetInstance().SubGaoBaoDanNum(PlayerIndex); break;*/ case PlayerAmmoType.SanDanAmmo: if (ammoIndex == 0) { return obj; } ammoParticle = SanDanAmmoParticle[ammoIndex]; //XkGameCtrl.GetInstance().SubSanDanNum(PlayerIndex); SpawnPlayerAllSanDanAmmo(ammoIndex); break; /*case PlayerAmmoType.GenZongAmmo: ammoParticle = GenZongDanAmmoParticle[ammoIndex]; //XkGameCtrl.GetInstance().SubGenZongDanNum(PlayerIndex); break;*/ case PlayerAmmoType.PaiJiPaoAmmo: ammoParticle = PaiJiPaoAmmoParticle[ammoIndex]; break; /*case PlayerAmmoType.JianSuAmmo: ammoParticle = JianSuDanAmmoParticle[ammoIndex]; //XkGameCtrl.GetInstance().SubJianSuDanNum(PlayerIndex); break;*/ case PlayerAmmoType.ChuanTouAmmo: ammoParticle = ChuanTouDanAmmoParticle[ammoIndex]; //XkGameCtrl.GetInstance().SubChuanTouDanNum(PlayerIndex); break; case PlayerAmmoType.DaoDanAmmo: ammoParticle = DaoDanAmmoParticle[ammoIndex]; break; } SpawnPlayerAmmoParticle(ammoParticle, ammoSpawnPos, ammoSpawnRot); obj = GetPlayerAmmo(ammoType, ammoSpawnPos, ammoSpawnRot, ammoIndex); return obj; }