Plasma Engine  2.0
Loading...
Searching...
No Matches
GameObjectContextActions.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <GuiFoundation/Action/BaseActions.h>
5#include <GuiFoundation/GuiFoundationDLL.h>
6
7class PL_EDITORFRAMEWORK_DLL plGameObjectContextActions
8{
9public:
10 static void RegisterActions();
11 static void UnregisterActions();
12
13 static void MapToolbarActions(plStringView sMapping);
14 static void MapContextMenuActions(plStringView sMapping);
15
16 static plActionDescriptorHandle s_hCategory;
17 static plActionDescriptorHandle s_hPickContextScene;
18 static plActionDescriptorHandle s_hPickContextObject;
19 static plActionDescriptorHandle s_hClearContextObject;
20};
21
22class PL_EDITORFRAMEWORK_DLL plGameObjectContextAction : public plButtonAction
23{
24 PL_ADD_DYNAMIC_REFLECTION(plGameObjectContextAction, plButtonAction);
25
26public:
27 enum class ActionType
28 {
29 PickContextScene,
30 PickContextObject,
31 ClearContextObject,
32 };
33
34 plGameObjectContextAction(const plActionContext& context, const char* szName, ActionType type);
36
37 virtual void Execute(const plVariant& value) override;
38
39private:
40 void SelectionEventHandler(const plSelectionManagerEvent& e);
41 void Update();
42
43 ActionType m_Type;
44};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Definition GameObjectContextActions.h:23
Definition GameObjectContextActions.h:8
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition Action.h:67
Definition SelectionManager.h:10