Plasma Engine  2.0
Loading...
Searching...
No Matches
CommonAssetActions.h
1#pragma once
2
3#include <EditorFramework/Assets/AssetDocument.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5#include <GuiFoundation/Action/BaseActions.h>
6#include <GuiFoundation/GuiFoundationDLL.h>
7
9
10class PL_EDITORFRAMEWORK_DLL plCommonAssetActions
11{
12public:
13 static void RegisterActions();
14 static void UnregisterActions();
15
16 static void MapToolbarActions(plStringView sMapping, plUInt32 uiStateMask);
17
18 static plActionDescriptorHandle s_hCategory;
19 static plActionDescriptorHandle s_hPause;
20 static plActionDescriptorHandle s_hRestart;
21 static plActionDescriptorHandle s_hLoop;
22 static plActionDescriptorHandle s_hSimulationSpeedMenu;
23 static plActionDescriptorHandle s_hSimulationSpeed[10];
24 static plActionDescriptorHandle s_hGrid;
25 static plActionDescriptorHandle s_hVisualizers;
26};
27
28class PL_EDITORFRAMEWORK_DLL plCommonAssetAction : public plButtonAction
29{
30 PL_ADD_DYNAMIC_REFLECTION(plCommonAssetAction, plButtonAction);
31
32public:
33 enum class ActionType
34 {
35 Pause,
36 Restart,
37 Loop,
38 SimulationSpeed,
39 Grid,
40 Visualizers,
41 };
42
43 plCommonAssetAction(const plActionContext& context, const char* szName, ActionType type, float fSimSpeed = 1.0f);
45
46 virtual void Execute(const plVariant& value) override;
47
48private:
49 void CommonUiEventHandler(const plCommonAssetUiState& e);
50 void UpdateState();
51
52 plAssetDocument* m_pAssetDocument = nullptr;
53 ActionType m_Type;
54 float m_fSimSpeed;
55};
Handle for a plAction.
Definition Action.h:27
Definition AssetDocument.h:42
Definition BaseActions.h:159
Definition CommonAssetActions.h:29
Definition CommonAssetActions.h:11
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
Frequently needed asset document states, to prevent code duplication.
Definition AssetDocument.h:26