diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-05-10 20:20:55 -0700 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-05-10 20:20:55 -0700 |
commit | a85bf36d4fd5026dac21f95432d06a7c0dd766d4 (patch) | |
tree | 42724628df134260a856d90b6918934ad59d9200 /indra/newview/llagent.h | |
parent | e6e51dfcc6e55c3f428e567ab1e824120dbc6c6b (diff) |
EXP-1928: Adding fundamentals for managing a teleport request in such a way that it can be restarted.
Diffstat (limited to 'indra/newview/llagent.h')
-rw-r--r-- | indra/newview/llagent.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 740770bbdf..3b27d48928 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -35,6 +35,7 @@ #include "llcoordframe.h" // for mFrameAgent #include "llvoavatardefines.h" +#include <boost/shared_ptr.hpp> #include <boost/signals2.hpp> extern const BOOL ANIMATE; @@ -56,6 +57,9 @@ class LLAgentAccess; class LLSLURL; class LLPauseRequestHandle; class LLUIColor; +class LLTeleportRequest; + +typedef boost::shared_ptr<LLTeleportRequest> LLTeleportRequestPtr; //-------------------------------------------------------------------- // Types @@ -556,9 +560,6 @@ private: // Teleport Actions //-------------------------------------------------------------------- public: - void teleportRequest(const U64& region_handle, - const LLVector3& pos_local, // Go to a named location home - bool look_at_from_camera = false); void teleportViaLandmark(const LLUUID& landmark_id); // Teleport to a landmark void teleportHome() { teleportViaLandmark(LLUUID::null); } // Go home void teleportViaLure(const LLUUID& lure_id, BOOL godlike); // To an invited location @@ -569,6 +570,20 @@ public: protected: bool teleportCore(bool is_local = false); // Stuff for all teleports; returns true if the teleport can proceed +private: + friend class LLTeleportRequest; + friend class LLTeleportRequestViaLandmark; + friend class LLTeleportRequestViaLure; + friend class LLTeleportRequestViaLocation; + friend class LLTeleportRequestViaLocationLookAt; + void teleportRequest(const U64& region_handle, + const LLVector3& pos_local, // Go to a named location home + bool look_at_from_camera = false); + void doTeleportViaLandmark(const LLUUID& landmark_id); // Teleport to a landmark + void doTeleportViaLure(const LLUUID& lure_id, BOOL godlike); // To an invited location + void doTeleportViaLocation(const LLVector3d& pos_global); // To a global location - this will probably need to be deprecated + void doTeleportViaLocationLookAt(const LLVector3d& pos_global);// To a global location, preserving camera rotation + //-------------------------------------------------------------------- // Teleport State //-------------------------------------------------------------------- @@ -577,6 +592,7 @@ public: void setTeleportState(ETeleportState state); private: ETeleportState mTeleportState; + LLTeleportRequestPtr mTeleportRequest; //-------------------------------------------------------------------- // Teleport Message |