public static void Spawn(MulticastDelegate f) { var sw = Stopwatch.StartNew(); var e = new WaitExecution(CurrentScript, (LuaThread)LuaThread.running().Values[0], 0, () => f.FastDynamicInvoke(sw.Elapsed.TotalSeconds, Game.Workspace.DistributedGameTime)); ExecutionQueue.Enqueue(e); }
public static dynamic Invoke(CallSite callSite, object target, params object[] args) { var tParameters = new List <object> { callSite, target }; tParameters.AddRange(args); MulticastDelegate tDelegate = ((dynamic)callSite).Target; return(tDelegate.FastDynamicInvoke(tParameters.ToArray())); }
public static dynamic Invoke(CallSite callSite, object target, params object[] arguments) { var parameters = new List <object> { callSite, target }; parameters.AddRange(arguments); MulticastDelegate functor = ((dynamic)callSite).OriginalTarget; return(functor.FastDynamicInvoke(parameters.ToArray())); }