diff options
Diffstat (limited to 'source/frontend/StarTeleportDialog.hpp')
-rw-r--r-- | source/frontend/StarTeleportDialog.hpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/frontend/StarTeleportDialog.hpp b/source/frontend/StarTeleportDialog.hpp new file mode 100644 index 0000000..445f73a --- /dev/null +++ b/source/frontend/StarTeleportDialog.hpp @@ -0,0 +1,38 @@ +#ifndef STAR_TELEPORTER_DIALOG_HPP +#define STAR_TELEPORTER_DIALOG_HPP + +#include "StarPane.hpp" +#include "StarWarping.hpp" +#include "StarPlayerUniverseMap.hpp" +#include "StarBookmarkInterface.hpp" + +namespace Star { + +STAR_CLASS(UniverseClient); +STAR_CLASS(PaneManager); + +class TeleportDialog : public Pane { +public: + TeleportDialog(UniverseClientPtr client, + PaneManager* paneManager, + Json config, + EntityId sourceEntityId, + TeleportBookmark currentLocation); + + void tick() override; + + void selectDestination(); + void teleport(); + void editBookmark(); + +private: + EntityId m_sourceEntityId; + UniverseClientPtr m_client; + PaneManager* m_paneManager; + List<pair<WarpAction, bool>> m_destinations; + TeleportBookmark m_currentLocation; +}; + +} + +#endif |