public void MoveNengLiangQuanToEnd(DaoJuTypeIndex val) { if (IsMoveToEnd) { RecordDJType = val; return; } IsMoveToEnd = true; if (EndTran == null) { if (GlobalData.GetInstance().gameMode == GameMode.SoloMode) { EndTran = WaterwheelPlayerCtrl.GetInstance().HuanYingFuObj.transform; } else { EndTran = WaterwheelPlayerNetCtrl.GetInstance().GetHuanYingFuTeXiaoTran(); } StartTran = Camera.main.transform; } TimeNengLiangQuan = Time.realtimeSinceStartup; NengLiangQuanTran.position = StartTran.position; gameObject.SetActive(true); StartCoroutine(UpdateNengLiangQuanPosToEnd(val)); }
IEnumerator UpdateNengLiangQuanPosToStart(DaoJuTypeIndex val) { while (true) { if (IsMoveToEnd) { IsMoveToStart = false; break; } Vector3 posEnd = StartTran.position; Vector3 posStart = NengLiangQuanTran.position; if (Vector3.Distance(posEnd, posStart) < 0.5f) { IsMoveToStart = false; gameObject.SetActive(false); break; } Vector3 forwardVal = posEnd - posStart; forwardVal = forwardVal.normalized; Vector3 pos = forwardVal * MvSpeed + posStart; NengLiangQuanTran.position = pos; yield return(new WaitForSeconds(0.03f)); } }
IEnumerator UpdateNengLiangQuanPosToEnd(DaoJuTypeIndex val) { while (true) { Vector3 posEnd = EndTran.position; Vector3 posStart = NengLiangQuanTran.position; if (Vector3.Distance(posEnd, posStart) < 0.5f) { IsMoveToEnd = false; gameObject.SetActive(false); if (GlobalData.GetInstance().gameMode == GameMode.SoloMode) { switch (val) { case DaoJuTypeIndex.shenXingState: WaterwheelPlayerCtrl.GetInstance().ActiveShenXingState(); //Player ShenXingState NengLiangTiaoCtrl.GetInStance().StartPlayNengLiangTiao(); if (RecordDJType == DaoJuTypeIndex.huanYingFu) { WaterwheelPlayerCtrl.GetInstance().ActiveHuanYingFuState(); } break; case DaoJuTypeIndex.huanYingFu: WaterwheelPlayerCtrl.GetInstance().ActiveHuanYingFuState(); if (RecordDJType == DaoJuTypeIndex.shenXingState) { WaterwheelPlayerCtrl.GetInstance().ActiveShenXingState(); //Player ShenXingState NengLiangTiaoCtrl.GetInStance().StartPlayNengLiangTiao(); } break; } } else { switch (val) { case DaoJuTypeIndex.huanYingFu: WaterwheelPlayerNetCtrl.GetInstance().ActiveHuanYingFuState(); break; } } RecordDJType = DaoJuTypeIndex.NULL; break; } Vector3 forwardVal = posEnd - posStart; forwardVal = forwardVal.normalized; Vector3 pos = forwardVal * MvSpeed + posStart; NengLiangQuanTran.position = pos; yield return(new WaitForSeconds(0.03f)); } }
public void MoveNengLiangQuanToStart(DaoJuTypeIndex val) { if (IsMoveToStart) { return; } IsMoveToStart = true; TimeNengLiangQuan = Time.realtimeSinceStartup; NengLiangQuanTran.position = EndTran.position; gameObject.SetActive(true); StartCoroutine(UpdateNengLiangQuanPosToStart(val)); }
// Update is called once per frame /*void Update() * { * if (Input.GetKeyUp(KeyCode.Keypad1)) { * SpawnHitDaoJuSprite(DaoJuTypeIndex.huanWeiFu); * } * * if (Input.GetKeyUp(KeyCode.Keypad2)) { * SpawnHitDaoJuSprite(DaoJuTypeIndex.huanYingFu); * } * * if (Input.GetKeyUp(KeyCode.Keypad3)) { * SpawnHitDaoJuSprite(DaoJuTypeIndex.juLiFu); * } * * if (Input.GetKeyUp(KeyCode.Keypad4)) { * SpawnHitDaoJuSprite(DaoJuTypeIndex.dianDaoFu); * } * * if (Input.GetKeyUp(KeyCode.Keypad5)) { * SpawnHitDaoJuSprite(DaoJuTypeIndex.dingShenFu); * } * }*/ public void SpawnHitDaoJuSprite(DaoJuTypeIndex val) { if (!StartBtCtrl.GetInstanceP1().CheckIsActivePlayer() && !StartBtCtrl.GetInstanceP2().CheckIsActivePlayer()) { return; } string spriteNameVal = "x" + (int)val; if (StartBtCtrl.GetInstanceP1().CheckIsActivePlayer()) { GameObject objP1 = null; TweenPosition tweenPosP1 = null; objP1 = (GameObject)Instantiate(HitDaoJuCtrl_1); objP1.GetComponent <UISprite>().spriteName = spriteNameVal; tweenPosP1 = objP1.GetComponent <TweenPosition>(); EventDelegate.Add(tweenPosP1.onFinished, delegate { ActivePlayerDaoJu(objP1, val, 1); }); objP1.transform.parent = transform; objP1.SetActive(true); } if (StartBtCtrl.GetInstanceP2().CheckIsActivePlayer()) { GameObject objP2 = null; TweenPosition tweenPosP2 = null; objP2 = (GameObject)Instantiate(HitDaoJuCtrl_2); objP2.GetComponent <UISprite>().spriteName = spriteNameVal; tweenPosP2 = objP2.GetComponent <TweenPosition>(); EventDelegate.Add(tweenPosP2.onFinished, delegate { ActivePlayerDaoJu(objP2, val, 2); }); objP2.transform.parent = transform; objP2.SetActive(true); } }
void ActivePlayerDaoJu(GameObject spriteObj, DaoJuTypeIndex val, int key) { if (key == 1) { if (StartBtCtrl.GetInstanceP1().CheckIsActivePlayer()) { ActiveDaJuCtrl.GetInstanceP1().ActiveDaoJuType((int)val); HeadCtrlPlayer.GetInstanceP1().InitChangeHeadUI(); } } else if (key == 2) { if (StartBtCtrl.GetInstanceP2().CheckIsActivePlayer()) { ActiveDaJuCtrl.GetInstanceP2().ActiveDaoJuType((int)val); HeadCtrlPlayer.GetInstanceP2().InitChangeHeadUI(); } } //Debug.Log("ActivePlayerDaoJu -> key = " + key); Destroy(spriteObj); }