Elaztek Developer Hub
Blamite Game Engine - Keystone  00454.07.12.26.2151.blamite
A library that enables the use of Qt in Blamite's editing tools.
engine.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <qwidget.h>
4 #include <qthread.h>
5 #include <Strings/components/classes/events/events.h>
6 
8 
9 class game_viewport;
10 
11 #ifndef KEYSTONE
12 #define KEYSTONE
13 #endif
14 
22 class BlamEngineViewportWidget : public QWidget
23 {
24 public:
26 
29 
30  void mouseMoveEvent(QMouseEvent* event);
31  void mousePressEvent(QMouseEvent* event);
32  void mouseReleaseEvent(QMouseEvent* event);
33  void keyPressEvent(QKeyEvent* event);
34  void keyReleaseEvent(QKeyEvent* event);
35 
36  void focusInEvent(QFocusEvent* focusInEvent);
37  void focusOutEvent(QFocusEvent* focusInEvent);
38 
42  void UpdateStatusBar();
43 
44  void OnContextMenuRequested(QPoint pos);
45 };
46 
47 class EditorInputListener : public BlamEventListener
48 {
49 public:
52 
53  void OnMouseClickEvent(MouseClickEvent* event) override;
54 };
55 
60 {
67  KEYSTONE int StartEngine();
68 
72  KEYSTONE void ShutdownEngine();
73 
80 
86  KEYSTONE void SetEngineFocusState(bool focused);
87 
94 
95 
97  KEYSTONE bool StartBackgroundScenarioLoad(std::string tag_path);
99 }
BlamEditorToolWindow
Base class for all editor tool windows.
Definition: BlamEditorToolWindow.h:39
EditorInputListener::~EditorInputListener
~EditorInputListener()
Definition: EditorInputListener.cpp:15
editor_data.h
BlamEngineViewportWidget::focusOutEvent
void focusOutEvent(QFocusEvent *focusInEvent)
Definition: BlamEngineViewportWidget.cpp:222
engine_running
volatile bool engine_running
Definition: engine.cpp:18
engine_viewport_widget
BlamEngineViewportWidget * engine_viewport_widget
Definition: engine.cpp:13
BlamEngineViewportWidget::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Definition: BlamEngineViewportWidget.cpp:84
BlamEditorToolWindowType::HierarchyView
@ HierarchyView
The hierarchy view, used to view objects within a scenario. Used in Sapien.
BlamEditorToolWindow_HierarchyView::GetCurrentObjectWidget
BlamHierarchyViewTreeWidget_Object * GetCurrentObjectWidget()
Definition: hierarchy_view.cpp:270
BlamKeystone::Engine::GetViewportWidget
KEYSTONE BlamEngineViewportWidget * GetViewportWidget()
Retrieves the engine viewport widget.
Definition: engine.cpp:117
BlamEngineViewportWidget::OnContextMenuRequested
void OnContextMenuRequested(QPoint pos)
Definition: BlamEngineViewportWidget.cpp:241
BlamKeystone::Engine
Namespace containing functions for initializing and shutting down the game engine.
Definition: engine.h:59
BlamKeystone::Engine::ShutdownScenarioLoaderThread
KEYSTONE void ShutdownScenarioLoaderThread()
Definition: scenario_loader_thread.cpp:202
engine_stopped
volatile bool engine_stopped
Definition: engine.cpp:17
engine_thread
void engine_thread()
Definition: engine.cpp:21
HierarchyViewItemMenu
Definition: hierarchy_view.h:13
BlamEditorDocument.h
BlamKeystone::Utils::ConvertQtVirtKeyToSDLScancode
KEYSTONE uint32_t ConvertQtVirtKeyToSDLScancode(int key)
Definition: utils.cpp:271
hierarchy_view.h
BlamKeystone::Engine::StartEngine
KEYSTONE int StartEngine()
Initializes the game engine and starts the main loop thread.
Definition: engine.cpp:48
BlamEngineViewportWidget::UpdateStatusBar
void UpdateStatusBar()
Updates the viewport status bar information.
Definition: BlamEngineViewportWidget.cpp:230
engine_init_result
volatile int engine_init_result
Definition: engine.cpp:19
BlamKeystone::Engine::StartBackgroundScenarioLoad
KEYSTONE bool StartBackgroundScenarioLoad(std::string tag_path)
Definition: scenario_loader_thread.cpp:189
EditorInputListener::EditorInputListener
EditorInputListener()
Definition: EditorInputListener.cpp:9
BlamEngineViewportWidget::BlamEngineViewportWidget
BlamEngineViewportWidget()
Definition: BlamEngineViewportWidget.cpp:14
dummy_do_thing
void dummy_do_thing()
Definition: engine.cpp:43
utils.h
BlamKeystone::EditorData::GetToolWindow
KEYSTONE BlamEditorToolWindow * GetToolWindow(BlamEditorToolWindowType type)
Retrieves a desired tool window.
Definition: editor_data.cpp:40
BlamEngineViewportWidget::viewport_main_widget
game_viewport * viewport_main_widget
The viewport parent widget pointer. See game_viewport for details.
Definition: engine.h:25
BlamEngineViewportWidget::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition: BlamEngineViewportWidget.cpp:48
BlamEditorToolWindow_HierarchyView::GetCurrentGroup
BlamScenarioHierarchyNode_Group * GetCurrentGroup()
Definition: hierarchy_view.cpp:281
EditorInputListener
Definition: engine.h:47
BlamEngineViewportWidget::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition: BlamEngineViewportWidget.cpp:30
editor_listener
EditorInputListener * editor_listener
Definition: engine.cpp:12
BlamEditorToolWindow_HierarchyView
Definition: hierarchy_view.h:32
game_viewport
Definition: game_viewport.h:8
engine_window_handle
SDL_Window * engine_window_handle
Definition: engine.cpp:14
BlamKeystone::Engine::ShutdownEngine
KEYSTONE void ShutdownEngine()
Shuts down the engine.
Definition: engine.cpp:95
game_viewport.h
BlamEngineViewportWidget::keyReleaseEvent
void keyReleaseEvent(QKeyEvent *event)
Definition: BlamEngineViewportWidget.cpp:157
BlamEngineViewportWidget::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Definition: BlamEngineViewportWidget.cpp:66
BlamEngineViewportWidget::focusInEvent
void focusInEvent(QFocusEvent *focusInEvent)
Definition: BlamEngineViewportWidget.cpp:214
engine_loop_thread
std::thread * engine_loop_thread
Definition: engine.cpp:15
BlamEngineViewportWidget
Class representing the engine viewport widget.
Definition: engine.h:22
BlamEngineViewportWidget::~BlamEngineViewportWidget
~BlamEngineViewportWidget()
Definition: BlamEngineViewportWidget.cpp:25
BlamKeystone::Engine::InitializeScenarioLoaderThread
KEYSTONE void InitializeScenarioLoaderThread()
Definition: scenario_loader_thread.cpp:180
KEYSTONE
#define KEYSTONE
Definition: engine.h:12
engine.h
game_viewport::RefreshStatusBar
void RefreshStatusBar()
Definition: game_viewport.cpp:32
EditorInputListener::OnMouseClickEvent
void OnMouseClickEvent(MouseClickEvent *event) override
Definition: EditorInputListener.cpp:20
BlamKeystone::Engine::GetEngineActiveState
KEYSTONE bool GetEngineActiveState()
Checks whether or not the engine is currently running.
Definition: engine.cpp:127
BlamKeystone::Engine::SetEngineFocusState
KEYSTONE void SetEngineFocusState(bool focused)
Sets whether or not the engine viewport is focused.
Definition: engine.cpp:122
BlamKeystone::Utils::ConvertQtVirtKeyToSDLVirtKey
KEYSTONE uint32_t ConvertQtVirtKeyToSDLVirtKey(int key)
Definition: utils.cpp:256