2023-06-20 04:33:09 +00:00
|
|
|
#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);
|
|
|
|
|
2023-07-20 14:58:49 +00:00
|
|
|
void tick(float dt) override;
|
2023-06-20 04:33:09 +00:00
|
|
|
|
|
|
|
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
|