mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-22 12:39:59 +00:00
Merge branch 'lua_mwscript_nilvar' into 'master'
#7791: Require local variables to exist for lua mwscript local variables Closes #7791 See merge request OpenMW/openmw!3811
This commit is contained in:
commit
093d86353f
@ -104,8 +104,12 @@ namespace MWLua
|
|||||||
});
|
});
|
||||||
mwscript["player"] = sol::readonly_property(
|
mwscript["player"] = sol::readonly_property(
|
||||||
[](const MWScriptRef&) { return GObject(MWBase::Environment::get().getWorld()->getPlayerPtr()); });
|
[](const MWScriptRef&) { return GObject(MWBase::Environment::get().getWorld()->getPlayerPtr()); });
|
||||||
mwscriptVars[sol::meta_function::index] = [](MWScriptVariables& s, std::string_view var) {
|
mwscriptVars[sol::meta_function::index]
|
||||||
|
= [](MWScriptVariables& s, std::string_view var) -> sol::optional<double> {
|
||||||
|
if (s.mRef.getLocals().hasVar(s.mRef.mId, var))
|
||||||
return s.mRef.getLocals().getVarAsDouble(s.mRef.mId, Misc::StringUtils::lowerCase(var));
|
return s.mRef.getLocals().getVarAsDouble(s.mRef.mId, Misc::StringUtils::lowerCase(var));
|
||||||
|
else
|
||||||
|
return sol::nullopt;
|
||||||
};
|
};
|
||||||
mwscriptVars[sol::meta_function::new_index] = [](MWScriptVariables& s, std::string_view var, double val) {
|
mwscriptVars[sol::meta_function::new_index] = [](MWScriptVariables& s, std::string_view var, double val) {
|
||||||
MWScript::Locals& locals = s.mRef.getLocals();
|
MWScript::Locals& locals = s.mRef.getLocals();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user