Plasma Engine  2.0
Loading...
Searching...
No Matches
ViewLightActions.h
1#pragma once
2
3#include <EditorEngineProcessFramework/EngineProcess/ViewRenderSettings.h>
4#include <EditorFramework/EditorFrameworkDLL.h>
5#include <GuiFoundation/Action/BaseActions.h>
6
8class PL_EDITORFRAMEWORK_DLL plViewLightActions
9{
10public:
11 static void RegisterActions();
12 static void UnregisterActions();
13
14 static void MapToolbarActions(plStringView sMapping);
15
16 static plActionDescriptorHandle s_hLightMenu;
17 static plActionDescriptorHandle s_hSkyBox;
18 static plActionDescriptorHandle s_hSkyLight;
19 static plActionDescriptorHandle s_hSkyLightCubeMap;
20 static plActionDescriptorHandle s_hSkyLightIntensity;
21 static plActionDescriptorHandle s_hDirLight;
22 static plActionDescriptorHandle s_hDirLightAngle;
23 static plActionDescriptorHandle s_hDirLightShadows;
24 static plActionDescriptorHandle s_hDirLightIntensity;
25 static plActionDescriptorHandle s_hFog;
26 static plActionDescriptorHandle s_hSetAsDefault;
27};
28
29class PL_EDITORFRAMEWORK_DLL plViewLightButtonAction : public plButtonAction
30{
31 PL_ADD_DYNAMIC_REFLECTION(plViewLightButtonAction, plButtonAction);
32
33public:
34 plViewLightButtonAction(const plActionContext& context, const char* szName, plEngineViewLightSettingsEvent::Type button);
36
37 virtual void Execute(const plVariant& value) override;
38 void LightSettingsEventHandler(const plEngineViewLightSettingsEvent& e);
39 void UpdateAction();
40
41private:
42 plEngineViewLightSettingsEvent::Type m_ButtonType;
43 plEngineViewLightSettings* m_pSettings = nullptr;
44 plEventSubscriptionID m_SettingsID;
45};
46
47class PL_EDITORFRAMEWORK_DLL plViewLightSliderAction : public plSliderAction
48{
49 PL_ADD_DYNAMIC_REFLECTION(plViewLightSliderAction, plSliderAction);
50
51public:
52 plViewLightSliderAction(const plActionContext& context, const char* szName, plEngineViewLightSettingsEvent::Type button);
54
55 virtual void Execute(const plVariant& value) override;
56 void LightSettingsEventHandler(const plEngineViewLightSettingsEvent& e);
57 void UpdateAction();
58
59private:
60 plEngineViewLightSettingsEvent::Type m_ButtonType;
61 plEngineViewLightSettings* m_pSettings = nullptr;
62 plEventSubscriptionID m_SettingsID;
63};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Definition ViewRenderSettings.h:65
Definition BaseActions.h:206
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
Actions for configuring the engine view light settings.
Definition ViewLightActions.h:9
Definition ViewLightActions.h:30
Definition ViewLightActions.h:48
Definition Action.h:67
Definition ViewRenderSettings.h:46