public GetMoveDir3D ( ) : ScriptRuntime.Vector3 | ||
return | ScriptRuntime.Vector3 |
static public int GetMoveDir3D(IntPtr l) { try { GameFramework.MovementStateInfo self = (GameFramework.MovementStateInfo)checkSelf(l); var ret = self.GetMoveDir3D(); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } }
private void SyncMovement() { if (null != m_Entity && null != m_Actor) { float curTime = Time.time; MovementStateInfo msi = m_Entity.GetMovementStateInfo(); if (msi.IsMoving) { if (m_LastSyncTime + c_SyncInterval <= curTime) { m_LastSyncTime = curTime; if (m_Entity.IsServerEntity) { Transform t = m_Actor.transform; ScriptRuntime.Vector3 dir = msi.GetMoveDir3D(); Vector3 pos = t.position + new Vector3(dir.X, 0, dir.Z) * 8.0f * c_SyncInterval; } } if (GlobalVariables.Instance.IsDebug) { Utility.EventSystem.Publish("ui_actor_name", "ui", m_Entity.GetId(), string.Format("{0}({1}):c({2},{3})", m_Entity.GetName(), m_Entity.GetId(), msi.PositionX, msi.PositionZ)); } if (m_Entity.GetId() != PluginFramework.Instance.LeaderID) { if (Geometry.DistanceSquare(msi.GetPosition3D(), msi.TargetPosition) > 0.625f) { MoveTo(msi.TargetPosition.X, msi.TargetPosition.Y, msi.TargetPosition.Z); } else { msi.IsMoving = false; StopMove(); } } } else { if (GlobalVariables.Instance.IsDebug) { Utility.EventSystem.Publish("ui_actor_name", "ui", m_Entity.GetId(), string.Format("{0}({1}):c({2},{3})", m_Entity.GetName(), m_Entity.GetId(), msi.PositionX, msi.PositionZ)); } } } }