Plasma Engine  2.0
Loading...
Searching...
No Matches
SkeletonActions.h
1#pragma once
2
3#include <EditorPluginAssets/EditorPluginAssetsDLL.h>
4#include <GuiFoundation/Action/BaseActions.h>
5#include <GuiFoundation/GuiFoundationDLL.h>
6
9
11{
12public:
13 static void RegisterActions();
14 static void UnregisterActions();
15
16 static void MapActions(plStringView sMapping);
17
18 static plActionDescriptorHandle s_hCategory;
19 static plActionDescriptorHandle s_hRenderBones;
20 static plActionDescriptorHandle s_hRenderColliders;
21 static plActionDescriptorHandle s_hRenderJoints;
22 static plActionDescriptorHandle s_hRenderSwingLimits;
23 static plActionDescriptorHandle s_hRenderTwistLimits;
24 static plActionDescriptorHandle s_hRenderPreviewMesh;
25};
26
28{
29 PL_ADD_DYNAMIC_REFLECTION(plSkeletonAction, plButtonAction);
30
31public:
32 enum class ActionType
33 {
34 RenderBones,
35 RenderColliders,
36 RenderJoints,
37 RenderSwingLimits,
38 RenderTwistLimits,
39 RenderPreviewMesh,
40 };
41
42 plSkeletonAction(const plActionContext& context, const char* szName, ActionType type);
44
45 virtual void Execute(const plVariant& value) override;
46
47private:
48 void AssetEventHandler(const plSkeletonAssetEvent& e);
49 void UpdateState();
50
51 plSkeletonAssetDocument* m_pSkeletonpDocument = nullptr;
52 ActionType m_Type;
53};
Handle for a plAction.
Definition Action.h:27
Definition BaseActions.h:159
Definition SkeletonActions.h:28
Definition SkeletonActions.h:11
Definition SkeletonAsset.h:25
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 SkeletonAsset.h:13