void InitMovePlayerByMarkSpeed() { Transform tran = AiPathScript.transform; Transform[] tranArray = new Transform[2]; tranArray[0] = transform; tranArray[1] = tran.GetChild(MarkCount); EndPos = tranArray[1].position; AiMark markScript = tranArray[1].GetComponent <AiMark>(); AimMvToMarkTran = markScript.transform; if (EndPos == tranArray[0].position) { //move to next mark point SpeedA = markScript.MvSpeed; MovePlayerOnCompelteITween(); return; } PathNodes = AiPathScript.GetPathNodes(MarkCount); if (PathNodes == null) { Debug.Log("PathNodes is null! MarkCount " + MarkCount); return; } EndPos = PathNodes[1]; ForwardMoveVal = Vector3.Normalize(EndPos - tranArray[0].position); SpeedB = markScript.MvSpeed; float disVal = 0f; int maxNodes = PathNodes.Length; for (int i = 1; i < maxNodes; i++) { disVal += Vector3.Distance(PathNodes[i - 1], PathNodes[i]); } float timeVal = (2f * disVal) / (SpeedA + SpeedB); TimeRotation = timeVal; if (SpeedB != SpeedA) { JiaSuDuVal = ((SpeedB - SpeedA) * (SpeedA + SpeedB)) / (2f * disVal); } else { JiaSuDuVal = 0f; } RotationStart = tranArray[0].rotation; RotationEnd = tranArray[1].rotation; // Debug.LogError("SpeedA *** "+SpeedA+", MarkCount "+MarkCount+", maxNodes "+maxNodes); // Debug.LogWarning("SpeedA *** "+SpeedA+", SpeedB "+SpeedB); if (!IsStartMovePlayerByMark) { //StartCoroutine(MovePlayerByMarkSpeed()); IsStartMovePlayerByMark = true; XKXuNiPlayerCtrl.GetInstance().InitXuNiPlayerInfo(markScript); } }
void OnTriggerEnter(Collider other) { if (IsDonnotSpawnNpcTest) { return; //test; } if (JiFenJieMianCtrl.GetInstance() != null && JiFenJieMianCtrl.GetInstance().GetIsShowFinishTask()) { return; } if (!XkGameCtrl.IsMoveOnPlayerDeath) { if (!XkGameCtrl.IsActivePlayerOne && !XkGameCtrl.IsActivePlayerTwo) { return; } } //if (Network.peerType == NetworkPeerType.Client) { // return; //} //XkPlayerCtrl ScriptPlayer = other.GetComponent<XkPlayerCtrl>(); //if (ScriptPlayer == null) { // return; //} XKXuNiPlayerCtrl ScriptPlayer = other.GetComponent <XKXuNiPlayerCtrl>(); if (ScriptPlayer == null) { return; } //test // if (ScriptPlayer.PlayerSt == PlayerTypeEnum.FeiJi) { // IsDonnotSpawnNpcTest = true; // } // else { // return; // } //Debug.Log("XKTriggerSpawnNpc::OnTriggerEnter -> hit "+other.name); for (int i = 0; i < SpawnPointArray.Length; i++) { SpawnPointArray[i].SpawnPointAllNpc(); } }
void Start() { Instance = this; }