LeviLamina
Loading...
Searching...
No Matches
RenderController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/controller/RenderControllerArrayType.h"
7#include "mc/molang/MolangVersion.h"
8
9// auto generated forward declare list
10// clang-format off
12class ExpressionNode;
13class RenderParams;
14class Vec4;
15namespace Json { class Value; }
16namespace mce { class Color; }
17class DataDrivenModel;
18// clang-format on
19
20class RenderController {
21public:
22 // member variables
23 // NOLINTBEGIN
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 RenderController& operator=(RenderController const&);
47 RenderController();
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCNAPI_C RenderController(::RenderController&&);
53
54 MCNAPI_C RenderController(::RenderController const&);
55
56 MCNAPI_C explicit RenderController(::std::string const& name);
57
58 MCNAPI_C bool _parseColor(
59 ::Json::Value const& root,
60 ::ExpressionNode* colorNode,
61 ::MolangVersion molangVersion,
62 float defaultAlpha
63 );
64
65 MCNAPI_C ::std::vector<::std::shared_ptr<::DataDrivenGeometry const>> getDataDrivenGeometries() const;
66
67 MCNAPI_C ::std::shared_ptr<::DataDrivenGeometry> getGeometry(::RenderParams& renderParams) const;
68
69 MCNAPI_C ::mce::Color getHurtColor(::RenderParams& renderParams) const;
70
71 MCNAPI_C float getLightColorMultiplier(::RenderParams& renderParams, float const& defaultValue) const;
72
73 MCNAPI_C ::mce::Color getOnFireColor(::RenderParams& renderParams) const;
74
75 MCNAPI_C ::mce::Color getOverlayColor(::RenderParams& renderParams) const;
76
77 MCNAPI_C ::mce::Color getTintColor(::RenderParams& renderParams) const;
78
79 MCNAPI_C ::Vec4 getUVAnim(::RenderParams& renderParams, ::Vec4 const& defaultUVAnim) const;
80
81 MCNAPI_C bool parse(::Json::Value const& root, ::MolangVersion molangVersion);
82
83 MCNAPI_C bool
84 parseArray(::Json::Value const& root, ::RenderControllerArrayType arrayType, ::MolangVersion molangVersion);
85
86 MCNAPI_C bool parseArrays(::Json::Value const& root, ::MolangVersion molangVersion);
87
88 MCNAPI_C bool parseGeometry(::Json::Value const& root, ::MolangVersion molangVersion);
89
90 MCNAPI_C bool parseLightColorMultiplier(::Json::Value const& root, ::MolangVersion molangVersion);
91
92 MCNAPI_C bool parseMaterials(::Json::Value const& root, ::MolangVersion molangVersion);
93
94 MCNAPI_C bool parsePartVisibility(::Json::Value const& root, ::MolangVersion molangVersion);
95
96 MCNAPI_C bool parseTextures(::Json::Value const& root, ::MolangVersion molangVersion);
97
98 MCNAPI_C bool parseUVAnim(::Json::Value const& root, ::MolangVersion molangVersion);
99
100 MCNAPI_C void render(::RenderParams& renderParams, ::DataDrivenGeometry& geo);
101
102 MCNAPI_C bool replaceVariables(::DataDrivenModel& model);
103
104 MCNAPI_C bool updatePartMaterials();
105
106 MCNAPI_C bool updatePartVisibility();
107
108 MCNAPI_C ~RenderController();
109 // NOLINTEND
110
111public:
112 // static functions
113 // NOLINTBEGIN
114 MCNAPI_C static ::std::string nameToRegExStr(::std::string const& sourceName);
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCNAPI_C void* $ctor(::RenderController&&);
121
122 MCNAPI_C void* $ctor(::RenderController const&);
123
124 MCNAPI_C void* $ctor(::std::string const& name);
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCNAPI_C void $dtor();
131 // NOLINTEND
132};
Definition DataDrivenGeometry.h:19
Definition DataDrivenModel.h:5
Definition ExpressionNode.h:33
Definition Value.h:16
Definition RenderParams.h:30
Definition Vec4.h:5
Definition Color.h:13
Definition Alias.h:14