46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
#pragma once
|
|
#include "libs.h"
|
|
#include "gui.h"
|
|
#include "view.h"
|
|
|
|
class Body;
|
|
|
|
class WorldView: public View {
|
|
public:
|
|
WorldView(void);
|
|
virtual void Update(void);
|
|
virtual void Draw3D(void);
|
|
static const float PICK_OBJECT_RECT_SIZE;
|
|
void UpdateCommsOptions(void);
|
|
bool GetShowLabels(void) { return m_labelsOn; }
|
|
void DrawBgStars(void);
|
|
vector3d GetExternalViewTranslation(void);
|
|
void ApplyExternalViewRotation(matrix4x4d& m);
|
|
virtual void Save(void);
|
|
virtual void Load(void);
|
|
enum CamType { CAM_FRONT, CAM_REAR, CAM_EXTERNAL };
|
|
void SetCamType(enum CamType);
|
|
enum CamType GetCamType(void) { return m_camType; }
|
|
|
|
float m_externalViewRotX, m_externalViewRotY;
|
|
float m_externalViewDist;
|
|
private:
|
|
Gui::Button* AddCommsOption(const std::string msg, int ypos);
|
|
void OnClickHyperspace(void);
|
|
void OnClickBlastoff(void);
|
|
void OnChangeWheelsState(Gui::MultiStateImageButton* b);
|
|
void OnChangeLabelsState(Gui::MultiStateImageButton* b);
|
|
void OnChangeFlightState(Gui::MultiStateImageButton* b);
|
|
virtual bool OnMouseDown(Gui::MouseButtonEvent* e);
|
|
Body* PickBody(const float screenX, const float screenY) const;
|
|
Gui::ImageButton* m_hyperspaceButton;
|
|
GLuint m_bgstarsDlist;
|
|
Gui::Fixed* m_commsOptions;
|
|
Gui::Label* m_flightStatus;
|
|
Gui::ImageButton* m_launchButton;
|
|
Gui::MultiStateImageButton* m_flightControlButton;
|
|
bool m_labelsOn;
|
|
enum CamType m_camType;
|
|
};
|
|
|