Beispiel #1
0
            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);
            }
Beispiel #2
0
        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()));
        }