public void SetUpdate(string i_updateFuncName, GameObject obj) { var updateFuncName = i_updateFuncName.Replace("()", ""); var scrObj = GetScriptObj(obj); ELEMENT updatefunc; ELEMENT pgmelement; var b = ELEMENT.FindFunctionFromRoot(m_rootElement, updateFuncName, out updatefunc, out pgmelement); Debug.Log(m_rootElement); if (!b) { throw new SystemException("CANNOT FIND FUNCTION : " + i_updateFuncName); } Debug.Log("updatefunc = " + updatefunc); scrObj.m_update.function = updatefunc; scrObj.m_update.stack = m_stackval.FindStack(pgmelement.decname); { var parentScrObj = (xmlScriptObj)hgca.FindAscendantComponent(scrObj.gameObject, typeof(xmlScriptObj)); if (parentScrObj != null) { scrObj.m_valid = parentScrObj.m_valid; } } }
public object RunFunction(string funcname, object args, xmlScriptObj scrObj) { ELEMENT funcElement; ELEMENT pgmElement; var b = ELEMENT.FindFunctionFromRoot(m_rootElement, funcname, out funcElement, out pgmElement); if (!b) { return(false); } var stack = m_stackval.FindStack(pgmElement.decname); return(xmlScriptFunc.ExecuteDEC_FUNC(funcElement, scrObj, stack, args)); }
public void RunFunctionFromHTML(string i_funcName, object args, GameObject obj = null) { var funcname = i_funcName.Substring(0, i_funcName.IndexOf('(')); var scrObj = GetScriptObj(obj); ELEMENT funcElement; ELEMENT pgmElement; var b = ELEMENT.FindFunctionFromRoot(m_rootElement, funcname, out funcElement, out pgmElement); if (!b) { throw new SystemException("CANNOT FIND FUNCTION: " + i_funcName); } var stack = m_stackval.FindStack(pgmElement.decname); xmlScriptFunc.ExecuteDEC_FUNC(funcElement, scrObj, stack, args); }
public static bool CallScriptFunction(string funcname, xmlScriptObj scrObj, STACKVAL stack, object args, out object o) { o = null; ELEMENT funcElement; ELEMENT pgmElement; var b = ELEMENT.FindFunction(stack, funcname, out funcElement, out pgmElement); if (!b) { b = ELEMENT.FindFunctionFromRoot(scrObj.m_rootElement, funcname, out funcElement, out pgmElement); } if (!b) { return(false); } o = xmlScriptFunc.ExecuteDEC_FUNC(funcElement, scrObj, stack, args); return(true); }