17class MolangVariableMap {
19 LLAPI
void setMolangVariable(::MolangVariableIndex molangVariableIndex,
::MolangScriptArg const& value);
22 LLAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
27 LLAPI
void setMolangVariable(
28 uint64 variableNameHash,
29 char const* variableName,
31 bool allowSpecialCharacters
36 enum class MissingVariableHandling :
int {
44 ::ll::TypedStorage<8, 24, ::std::vector<short>> mMapFromVariableIndexToVariableArrayOffset;
45 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::MolangVariable>>> mVariables;
46 ::ll::TypedStorage<1, 1, bool> mHasPublicVariables;
51 MolangVariableMap(MolangVariableMap
const& rhs) {
52 mMapFromVariableIndexToVariableArrayOffset = rhs.mMapFromVariableIndexToVariableArrayOffset;
54 for (
auto& ptr : *rhs.mVariables) {
55 mVariables->push_back(std::make_unique<MolangVariable>(*ptr));
57 mHasPublicVariables = rhs.mHasPublicVariables;
65 ::MolangVariableIndex molangVariableIndex,
66 ::MolangVariableMap::MissingVariableHandling errorHandling
69 MCAPI ::MolangVariable* _getOrAddMolangVariable(::MolangVariableIndex molangVariableIndex);
71 MCAPI ::MolangVariableMap& clear();
74 MCAPI ::MolangScriptArg
const& getMolangVariable(uint64 variableNameHash,
char const*)
const;
77 MCNAPI ::MolangVariableMap&
operator=(::MolangVariableMap&& rhs);
79 MCNAPI ::MolangVariableMap&
operator=(::MolangVariableMap
const& rhs);
81 MCNAPI
bool operator==(::MolangVariableMap
const& rhs)
const;
84 ::MolangVariableIndex molangVariableIndex,
90 MCNAPI
void setMolangVariable(
::HashedString const& variableName,
float value);
92 MCAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
::MolangScriptArg const& value);
94 MCNAPI
void setMolangVariable(uint64 variableNameHash,
char const* variableName,
float value);
97 MCAPI ~MolangVariableMap();