Skip to content

Commit

Permalink
instanceArg for setProperty functions option
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowMario committed Oct 2, 2024
1 parent 57df38a commit af15bac
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions source/psychlua/ReflectionFunctions.hx
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ class ReflectionFunctions
return LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split, true, allowMaps), split[split.length-1], allowMaps);
return LuaUtils.getVarInArray(LuaUtils.getTargetInstance(), variable, allowMaps);
});
Lua_helper.add_callback(lua, "setProperty", function(variable:String, value:Dynamic, ?allowMaps:Bool = false) {
Lua_helper.add_callback(lua, "setProperty", function(variable:String, value:Dynamic, ?allowMaps:Bool = false, ?allowInstances:Bool = false) {
var split:Array<String> = variable.split('.');
if(split.length > 1) {
LuaUtils.setVarInArray(LuaUtils.getPropertyLoop(split, true, allowMaps), split[split.length-1], value, allowMaps);
LuaUtils.setVarInArray(LuaUtils.getPropertyLoop(split, true, allowMaps), split[split.length-1], allowInstances ? parseSingleInstance(value) : value, allowMaps);
return value;
}
LuaUtils.setVarInArray(LuaUtils.getTargetInstance(), variable, value, allowMaps);
LuaUtils.setVarInArray(LuaUtils.getTargetInstance(), variable, allowInstances ? parseSingleInstance(value) : value, allowMaps);
return value;
});
Lua_helper.add_callback(lua, "getPropertyFromClass", function(classVar:String, variable:String, ?allowMaps:Bool = false) {
Expand All @@ -49,7 +49,7 @@ class ReflectionFunctions
}
return LuaUtils.getVarInArray(myClass, variable, allowMaps);
});
Lua_helper.add_callback(lua, "setPropertyFromClass", function(classVar:String, variable:String, value:Dynamic, ?allowMaps:Bool = false) {
Lua_helper.add_callback(lua, "setPropertyFromClass", function(classVar:String, variable:String, value:Dynamic, ?allowMaps:Bool = false, ?allowInstances:Bool = false) {
var myClass:Dynamic = Type.resolveClass(classVar);
if(myClass == null)
{
Expand All @@ -63,10 +63,10 @@ class ReflectionFunctions
for (i in 1...split.length-1)
obj = LuaUtils.getVarInArray(obj, split[i], allowMaps);

LuaUtils.setVarInArray(obj, split[split.length-1], value, allowMaps);
LuaUtils.setVarInArray(obj, split[split.length-1], allowInstances ? parseSingleInstance(value) : value, allowMaps);
return value;
}
LuaUtils.setVarInArray(myClass, variable, value, allowMaps);
LuaUtils.setVarInArray(myClass, variable, allowInstances ? parseSingleInstance(value) : value, allowMaps);
return value;
});
Lua_helper.add_callback(lua, "getPropertyFromGroup", function(group:String, index:Int, variable:Dynamic, ?allowMaps:Bool = false) {
Expand Down Expand Up @@ -231,7 +231,7 @@ class ReflectionFunctions
return false;
}

var obj:Dynamic = Type.createInstance(myType, args);
var obj:Dynamic = Type.createInstance(myType, parseInstances(args));
if(obj != null)
MusicBeatState.getVariables().set(variableToSave, obj);
else
Expand Down

0 comments on commit af15bac

Please sign in to comment.