Code: Select all
def _ExportScript(pyfmod,argscript,index,scnobj):
_type = str(FindInDict(argscript,"type","none"))
page = pyfmod.data.getRoot()
resmgr = page.resmanager
idx = int(FindInDict(argscript,"index",index))
if plPythonParameter.ScriptValueType.has_key(_type):
typeinfo = plPythonParameter.ScriptValueType[_type]
if typeinfo["type"] == "bool":
value = bool(str(FindInDict(argscript,"value","false")).lower() == "true")
param = plPythonParameter(pyfmod)
param.fValue = value
param.fID = idx
param.fValueType = typeinfo["typenum"]
pyfmod.data.addParameter(param)
elif typeinfo["type"] == "int":
value = int(FindInDict(argscript,"value","0"))
param = plPythonParameter(pyfmod)
param.fValue = value
param.fID = idx
param.fValueType = typeinfo["typenum"]
pyfmod.data.addParameter(param)
elif typeinfo["type"] == "float":
value = float(FindInDict(argscript,"value","0.0"))
param = plPythonParameter(pyfmod)
param.fValue = value
param.fID = idx
param.fValueType = typeinfo["typenum"]
pyfmod.data.addParameter(param)
elif typeinfo["type"] == "str":
value = str(FindInDict(argscript,"value","0"))
param = plPythonParameter(pyfmod)
param.fValue = value
param.fID = idx
param.fValueType = typeinfo["typenum"]
pyfmod.data.addParameter(param)
elif typeinfo["type"] == "none":
param = plPythonParameter(pyfmod)
param.fID = idx
param.fValueType = typeinfo["typenum"]
#pyfmod.data.addParameter(param)
elif typeinfo["type"] == "key":
ref = FindInDict(argscript,"ref",None)
plPythonParameter.ExportKey(pyfmod,ref,typeinfo,idx,scnobj)
elif typeinfo["type"] == "keylist":
param = plPythonParameter(pyfmod)
refs = list(FindInDict(argscript,"refs",[]))
for ref in refs:
if type(ref) == str:
plPythonParameter.ExportKey(pyfmod,ref,typeinfo,idx,scnobj)
He replaced the automatically assigned index with an AlcScripted variable.