Polyphase Game Engine
Loading...
Searching...
No Matches
InputPromptStyle.h
Go to the documentation of this file.
1#pragma once
2
3#include "Asset.h"
4#include "Assets/InputPromptMap.h" // for InputPromptKind
5
6#include <array>
7#include <string>
8#include <vector>
9
11{
12public:
13
15
16 static constexpr int32_t kPriorityCount = 3;
17
19 virtual ~InputPromptStyle();
20
21 virtual void LoadStream(Stream& stream, Platform platform) override;
22 virtual void SaveStream(Stream& stream, Platform platform) override;
23 virtual void Create() override;
24 virtual void Destroy() override;
25 virtual void GatherProperties(std::vector<Property>& outProps) override;
26
27 virtual glm::vec4 GetTypeColor() override;
28 virtual const char* GetTypeName() override;
29
30 float GetIconSize() const { return mIconSize; }
31 float GetSpacing() const { return mSpacing; }
32 glm::vec4 GetTint() const { return mTint; }
33 InputPromptKind GetPriorityAt(int32_t i) const;
34 const std::array<InputPromptKind, kPriorityCount>& GetPriority() const { return mPriority; }
35 void SetPriorityAt(int32_t i, InputPromptKind kind);
36
37 const std::vector<std::string>& GetPrewarmActions() const { return mPrewarmActions; }
38 std::vector<std::string>& GetPrewarmActions() { return mPrewarmActions; }
39
40 float mIconSize = 24.0f;
41 float mSpacing = 2.0f;
42 glm::vec4 mTint = glm::vec4(1.0f);
43
44 std::array<InputPromptKind, kPriorityCount> mPriority = {
48 };
49
50 std::vector<std::string> mPrewarmActions;
51
52private:
53
54 static bool HandlePropChange(Datum* datum, uint32_t index, const void* newValue);
55};
Platform
Definition EngineTypes.h:31
InputPromptKind
Definition InputPromptMap.h:16
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition Asset.h:119
virtual void Create()
Definition Asset.cpp:77
virtual void SaveStream(Stream &stream, Platform platform)
Definition Asset.cpp:284
virtual glm::vec4 GetTypeColor()
Definition Asset.cpp:302
virtual const char * GetTypeName()
Definition Asset.cpp:307
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Asset.cpp:297
virtual void LoadStream(Stream &stream, Platform platform)
Definition Asset.cpp:270
virtual void Destroy()
Definition Asset.cpp:92
Definition Datum.h:169
Definition InputPromptStyle.h:11
std::vector< std::string > & GetPrewarmActions()
Definition InputPromptStyle.h:38
std::vector< std::string > mPrewarmActions
Definition InputPromptStyle.h:50
float GetIconSize() const
Definition InputPromptStyle.h:30
DECLARE_ASSET(InputPromptStyle, Asset)
glm::vec4 GetTint() const
Definition InputPromptStyle.h:32
const std::vector< std::string > & GetPrewarmActions() const
Definition InputPromptStyle.h:37
const std::array< InputPromptKind, kPriorityCount > & GetPriority() const
Definition InputPromptStyle.h:34
float GetSpacing() const
Definition InputPromptStyle.h:31
Definition Stream.h:21