载入中...
搜索中...
未找到
StyleInstance.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include <map>
6#include <optional>
7#include <string>
8#include <unordered_map>
9
10namespace eve::graphics {
11class Graphics;
12class Shader;
13} // namespace eve::graphics
14
15namespace eve::stylize {
16
17class StylePass;
18
26public:
28 explicit StyleInstance(std::string style);
31 StyleInstance(std::string style, std::map<std::string, float> defaults);
33 ~StyleInstance() = default;
34
35 StyleInstance(const StyleInstance&) = delete;
37
39 std::string getStyle() const { return style_; }
41 std::string getStage() const;
43 int getPriority() const;
45 void setPriority(int priority) { priority_ = priority; }
47 void resetPriority() { priority_.reset(); }
49 bool requiresInput(const std::string& input) const;
51 int getParamCount() const;
53 std::string getParamName(int index) const;
55 float getParamDefault(const std::string& name) const;
57 float getParamMin(const std::string& name) const;
59 float getParamMax(const std::string& name) const;
60
62 bool hasParam(const std::string& name) const;
64 bool isOverridden(const std::string& name) const;
66 void setFloat(const std::string& name, float value);
68 float getFloat(const std::string& name) const;
70 void reset(const std::string& name);
72 void resetAll();
73
75 StylePass* newPass(graphics::Graphics* gfx) const;
77 graphics::Shader* newMeshShader(graphics::Graphics* gfx) const;
78
84 void applyToShader(graphics::Shader* shader) const;
85
86private:
87 std::string style_;
88 std::unordered_map<std::string, float> overrides_;
89 std::optional<int> priority_;
90 std::optional<std::map<std::string, float>> externalDefaults_;
91};
92
93} // namespace eve::stylize
double value
int priority
EvpackChunkInput input
Definition Evpack.cpp:170
#define EVENGINE_API_WORLD
Definition Export.h:109
std::string name
Shader * shader
uint32_t index
Custom GPU program.
Definition Shader.h:39
Mutable parameter instance of an immutable built-in style definition.
StyleInstance & operator=(const StyleInstance &)=delete
std::string getStyle() const
Returns the style.
StyleInstance(const StyleInstance &)=delete
~StyleInstance()=default
Style instance.
void setPriority(int priority)
Override built-in ordering for authored recipe composition.
void resetPriority()
Restore the style definition's built-in priority.
One stylized post-process pass bound to a style id (built-in or custom label). Draws a full-quad of t...
Definition StylePass.h:26
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25