Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void MoveTo(Vector2 ToPosition, bool IgnoreCanInitiate = false, bool IgnoreRedirections = false, bool DisableClipping = false)
- {
- Unidle();
- if (!mInstance.IsValidPosition(ToPosition))
- {
- return;
- }
- mEnableClipping = !DisableClipping;
- if (!ClippingEnabled)
- {
- IgnoreCanInitiate = true;
- }
- if (!IgnoreRedirections)
- {
- ToPosition = mInstance.GetRedirectedTarget(ToPosition);
- }
- if ((ToPosition.X == Position.X && ToPosition.Y == Position.Y) || mForcedLeave ||
- (!IgnoreCanInitiate && !mInstance.CanInitiateMoveToPosition(ToPosition)) ||
- (mWalkingBlocked && !DisableClipping))
- {
- return;
- }
- lock (mMovementSyncRoot)
- {
- mMoveToAndInteract = 0;
- if (mPositionToSet != null)
- {
- mPosition.X = mPositionToSet.X;
- mPosition.Y = mPositionToSet.Y;
- mPosition.Z = mInstance.GetUserStepHeight(new Vector2(mPosition.X, mPosition.Y));
- mPositionToSet = null;
- }
- mLeaveStepsTaken = 0;
- mIsLeavingRoom = false;
- StopMoving();
- mPathfinder.MoveTo(ToPosition);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement