#pragma once #include #include #include #include "viewport.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); bool SaveConfirmation(); protected: void closeEvent(QCloseEvent* event) override; private slots: void on_actionOpen_triggered(); void on_actionExit_triggered(); void on_actionNew_triggered(); void on_actionClose_triggered(); void on_actionSave_triggered(); void on_actionExport_triggered(); void on_actionSwitch_triggered(); void on_actionHierarchy_triggered(); void on_actionInspector_triggered(); void on_actionAssetBrowser_triggered(); void on_actionViewport_triggered(); void on_actionEditGameSettings_triggered(); void on_actionEditWorldSettings_triggered(); void on_actionDuplicate_triggered(); void on_actionDelete_triggered(); private: void StopPlaying(); void RefreshWindowTitle(); void CreateCamera(); Ui::MainWindow* m_ui; ToolWindowManager* m_manager; Viewport* m_viewport; bool m_first = true; double m_lastX = 0.0f, m_lastY = 0.0f; float m_yaw = 0.0f, m_pitch = 0.0f; };