forked from redo/BlockLua
		
	fix named ts object method calling
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								BlockLua.dll
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								BlockLua.dll
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -25,6 +25,7 @@ Lua scripting for Blockland | ||||
| `bl.varName` - Read a TorqueScript global variable   | ||||
| `bl['varName']` - Read a TorqueScript global variable (i.e. with special characters in the name, or from an array)   | ||||
| `bl.set('varName', value)` - Write a TorqueScript global variable   | ||||
| `bl['namespaceName::funcName'](args)` - Call a namespaced TorqueScript function | ||||
|  | ||||
| ### Accessing Torque Objects from Lua | ||||
| `bl.objectName` - Access a Torque object by name   | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
|  | ||||
| // Private - Utilities used by libbl from the Lua side | ||||
|  | ||||
| package _bllua_smartEval { | ||||
| package smartEval { | ||||
| 	// Allow prepending ' to console commands to eval in lua instead of TS | ||||
| 	// Also wraps TS lines with echo(...); if they don't end in ; or } | ||||
| 	function ConsoleEntry::eval() { | ||||
| @@ -28,7 +28,7 @@ package _bllua_smartEval { | ||||
| 		} | ||||
| 	} | ||||
| }; | ||||
| activatePackage(_bllua_smartEval); | ||||
| activatePackage(smartEval); | ||||
|  | ||||
| package _bllua_objectDeletionHook { | ||||
| 	// Hook object deletion to clean up its lua data | ||||
|   | ||||
| @@ -303,7 +303,10 @@ local tsObjectMeta = { | ||||
| 			for inh in objectInheritedMetas(rawget(t,'_tsClassName')) do | ||||
| 				if inh[name] then return inh[name] end | ||||
| 			end | ||||
| 			if tsIsFunctionNs(rawget(t,'_tsNamespace'), name) then | ||||
| 			if | ||||
| 				tsIsFunctionNs(rawget(t,'_tsNamespace'), name) or | ||||
| 				tsIsFunctionNs(rawget(t,'_tsName'), name) | ||||
| 			then | ||||
| 				return function(t, ...) | ||||
| 					local args = {...} | ||||
| 					local argsS = arglistToTs(args) | ||||
| @@ -921,10 +924,12 @@ end | ||||
| -- bl.new and bl.datablock | ||||
| local function createTsObj(keyword, class, name, inherit, props) | ||||
| 	local propsT = {} | ||||
| 	for k,v in pairs(props) do | ||||
| 		if not isValidFuncName(k) then | ||||
| 			error('bl.new/bl.datablock: invalid property name \''..k..'\'') end | ||||
| 		table.insert(propsT, k..'="'..valToTs(v)..'";') | ||||
| 	if props then | ||||
| 		for k,v in pairs(props) do | ||||
| 			if not isValidFuncName(k) then | ||||
| 				error('bl.new/bl.datablock: invalid property name \''..k..'\'') end | ||||
| 			table.insert(propsT, k..'="'..valToTs(v)..'";') | ||||
| 		end | ||||
| 	end | ||||
| 	 | ||||
| 	local objS = _bllua_ts.eval( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Redo
					Redo