private static bool parseInvokeMethod(JSONAction a) { if (a.strings == null || a.strings.Length < 2) { Debug.LogWarning("Animator: SendMessage missing Component or MethodInfo Name."); return(false); } //AMTween.InvokeMethod(component,AMTween.Hash ("delay",getWaitTime(frameRate),"methodinfo",methodInfo,"parameters",arrParams)); Hashtable hash = new Hashtable(); hash.Add("disable", true); hash.Add("delay", a.delay); hash.Add("methodinfo", getMethodInfo(a.go, a.strings[0], a.strings[1], null)); if (a.eventParams != null && a.eventParams.Length > 0) { object[] arrParams = new object[a.eventParams.Length]; for (int i = 0; i < a.eventParams.Length; i++) { arrParams[i] = a.eventParams[i].toObject(); } if (arrParams.Length <= 0) { arrParams = null; } hash.Add("parameters", arrParams); } AMTween.InvokeMethod(getCMP(a.go, a.strings[0]), hash); return(true); }
public override void execute(int frameRate, float delay) { if (useSendMessage) { if (component == null || methodName == null) { return; } if (parameters == null || parameters.Count <= 0) { AMTween.SendMessage(component.gameObject, AMTween.Hash("delay", getWaitTime(frameRate, delay), "methodname", methodName)); } else { AMTween.SendMessage(component.gameObject, AMTween.Hash("delay", getWaitTime(frameRate, delay), "methodname", methodName, "parameter", parameters[0].toObject())); } return; } if (component == null || methodInfo == null) { return; } object[] arrParams = new object[parameters.Count]; for (int i = 0; i < parameters.Count; i++) { if (parameters[i].isArray()) { setObjectInArray(ref arrParams[i], parameters[i].lsArray); } else { arrParams[i] = parameters[i].toObject(); } } if (arrParams.Length <= 0) { arrParams = null; } AMTween.InvokeMethod(component, AMTween.Hash("delay", getWaitTime(frameRate, delay), "methodinfo", methodInfo, "parameters", arrParams)); }