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); } }