fix distance stop npc
This commit is contained in:
@@ -668,13 +668,18 @@ public class CECNPC : CECObject
|
||||
A3DVECTOR3 vDir = m_vServerPos - vCurPos;
|
||||
float fDist = vDir.Normalize();
|
||||
A3DVECTOR3 vPos = vDir * m_fMoveSpeed * deltaTime;
|
||||
float fMoveDelta = Vector3.Magnitude(EC_Utility.ToVector3(vPos) - EC_Utility.ToVector3(vCurPos));
|
||||
// If already very close to destination, consider it reached
|
||||
A3DVECTOR3 exPPos = vPos + EC_Utility.ToA3DVECTOR3(transform.position);
|
||||
float fMoveDelta = Vector3.Magnitude(EC_Utility.ToVector3(exPPos) - EC_Utility.ToVector3(vCurPos));
|
||||
|
||||
if (fMoveDelta >= fDist)
|
||||
{
|
||||
if (-2041570812 == m_NPCInfo.nid)
|
||||
{
|
||||
BMLogger.LogError($"HoangDev: m_vServerPos:{m_vServerPos},vCurPos:{vCurPos},vDir:{vDir},fDist:{fDist},vPos:{vPos},fMoveDelta:{fMoveDelta}");
|
||||
}
|
||||
// Already at destination
|
||||
_characterController.enabled = false;
|
||||
SetPos( EC_Utility.ToVector3(m_vServerPos));
|
||||
SetPos(EC_Utility.ToVector3(m_vServerPos));
|
||||
_characterController.enabled = true;
|
||||
bRet = true;
|
||||
}
|
||||
@@ -692,7 +697,7 @@ public class CECNPC : CECObject
|
||||
{
|
||||
// Teleport nếu lag xa
|
||||
_characterController.enabled = false;
|
||||
SetPos( EC_Utility.ToVector3(m_vServerPos));
|
||||
SetPos(EC_Utility.ToVector3(m_vServerPos));
|
||||
_characterController.enabled = true;
|
||||
|
||||
m_vStopDir = EC_Utility.ToA3DVECTOR3(transform.forward);
|
||||
@@ -1124,7 +1129,7 @@ public class CECNPC : CECObject
|
||||
{
|
||||
if (-2041570812 == m_NPCInfo.nid)
|
||||
{
|
||||
BMLogger.LogError("CECNPC::SetPos,else pos="+ pos);
|
||||
BMLogger.LogError("CECNPC::SetPos,else pos=" + pos);
|
||||
}
|
||||
transform.position = pos;
|
||||
}
|
||||
|
||||
@@ -567,7 +567,6 @@ MonoBehaviour:
|
||||
vis_tid: 0
|
||||
m_iMMIndex: 0
|
||||
m_idAttackTarget: 0
|
||||
m_npcUI: {fileID: 0}
|
||||
m_fMoveSpeed: 0
|
||||
_characterController: {fileID: -2400324395862947468}
|
||||
isDebug: 0
|
||||
@@ -606,7 +605,7 @@ CharacterController:
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Height: 2
|
||||
m_Radius: 0.5
|
||||
m_Radius: 0
|
||||
m_SlopeLimit: 45
|
||||
m_StepOffset: 0.3
|
||||
m_SkinWidth: 0.08
|
||||
|
||||
Reference in New Issue
Block a user