Example #1
0
        private static void LoadScripts(Queue <IServerScript> scripts)
        {
            if (scripts.Count > 0)
            {
                IServerScript iscript = scripts.Dequeue();

                ServerScript script = (ServerScript)iscript;

                ((ILease)script.GetLifetimeService()).Register(instance);

                script.timer = new ScriptTimer(script, 100, (timer) =>
                {
                    try
                    {
                        iscript.Tick();
                    }
                    catch (Exception e)
                    {
                        instance.Print(PrintType.Error, "\"" + iscript.Name + "\"'s Tick() failed.");
                        instance.PrintException(e);
                    }
                }, true);

                ((ILease)script.timer.GetLifetimeService()).Register(instance);

                instance.Print("Creating proxy for script \"" + iscript.Name + "\"...");

                script.CreateProxy(instance, scripts);
            }
        }