struct IMovementController { };
IMovementController.h
virtual ~IMovementController();
virtual inline Vec2 GetDesiredMoveDir() const;
virtual const SExactPositioningTarget* GetExactPositioningTarget();
this will not return an exactpositioning target if the request is still pending
virtual void GetMovementState(SMovementState& state) = 0;
Fetch the current movement state of the entity
virtual bool GetStanceState(const SStanceStateQuery& query, SStanceState& state) = 0;
Returns the description of the stance as if the specified stance would be set right now. If the parameter 'defaultPose' is set to false, the current aim and look target info is used to calculate the stance info, else a default pose facing along positive Y-axis is returned. Returns false if the description cannot be queried.
virtual bool RequestMovement(CMovementRequest& request) = 0;
Request some movement; If the request cannot be fulfilled, returns false, and request is updated to be a similar request that could be fulfilled (calling code is then free to inspect this, and call RequestMovement again to set a new movement)
virtual void SetExactPositioningListener(IExactPositioningListener* pExactPositioningListener);