diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llfloatertelehub.h |
Print done when done.
Diffstat (limited to 'indra/newview/llfloatertelehub.h')
-rw-r--r-- | indra/newview/llfloatertelehub.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/indra/newview/llfloatertelehub.h b/indra/newview/llfloatertelehub.h new file mode 100644 index 0000000000..39f12f9443 --- /dev/null +++ b/indra/newview/llfloatertelehub.h @@ -0,0 +1,57 @@ +/** + * @file llfloatertelehub.h + * @author James Cook + * @brief LLFloaterTelehub class definition + * + * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLFLOATERTELEHUB_H +#define LL_LLFLOATERTELEHUB_H + +#include "llfloater.h" + +class LLMessageSystem; + +const S32 MAX_SPAWNPOINTS_PER_TELEHUB = 16; + +class LLFloaterTelehub : public LLFloater +{ +public: + // Opens the floater on screen. + static void show(); + + virtual void draw(); + + static BOOL renderBeacons(); + static void addBeacons(); + +private: + LLFloaterTelehub(); + ~LLFloaterTelehub(); + + void refresh(); + void sendTelehubInfoRequest(); + + static void onClickConnect(void* data); + static void onClickDisconnect(void* data); + static void onClickAddSpawnPoint(void* data); + static void onClickRemoveSpawnPoint(void* data); + + static void processTelehubInfo(LLMessageSystem* msg, void**); + void unpackTelehubInfo(LLMessageSystem* msg); + +private: + LLUUID mTelehubObjectID; // null if no telehub + LLString mTelehubObjectName; + LLVector3 mTelehubPos; // region local, fallback if viewer can't see the object + LLQuaternion mTelehubRot; + + S32 mNumSpawn; + LLVector3 mSpawnPointPos[MAX_SPAWNPOINTS_PER_TELEHUB]; + + static LLFloaterTelehub* sInstance; +}; + +#endif |