Пример #1
0
    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);
    }
Пример #2
0
 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));
 }