/// <summary> /// 同步位置 /// </summary> public void SyncPosition(SCPositon position) { if (syncPositionBack != null) { syncPositionBack.Invoke(position); } }
/// <summary> /// 同步位置 /// </summary> /// <param name="pos"></param> void SyncPositionBack(SCPositon pos) { if (playerUnitData.PlayerId == pos.PlayerId) { if (pos.Animation == 2 && !m_Attacking) { //旋转 heroCharacterController.transform.eulerAngles = new Vector3(0, 90f - Mathf.Atan2(pos.Z, pos.X) * 180f / Mathf.PI, 0); //移动 heroCharacterController.Move(new Vector3(pos.X, pos.Y, pos.Z) + new Vector3(0, -100f, 0)); //动画 PlayMove(); } else if (pos.Animation == 1 && !m_Attacking) { //动画 PlayIdle(); } else if (pos.Animation == 3) { //动画 PlayAttack(); if (attackNPC != null) { if (attackNPC != null) { Quaternion lookAtRot = Quaternion.LookRotation(attackNPC.transform.position - transform.position); transform.localEulerAngles = lookAtRot.eulerAngles; } else if (attackPlayer != null) { Quaternion lookAtRot = Quaternion.LookRotation(attackPlayer.transform.position - transform.position); transform.localEulerAngles = lookAtRot.eulerAngles; } } } } }