private void LoadScripts() { //load all the scripts into the Script Object scriptObject.Reset(); ScriptClass sc = new ScriptClass(); sc.ParseCommand += new SendCommandDelegate(Script_ParseCommand); sc.ParseCommandCurrent += new SendCommandCurrentDelegate(Script_ParseCommandCurrent); sc.ParseIdentifier += new ParseIdentifierDelegate(Script_ParseIdentifier); sc.ParseIdentifierCurrent += new ParseIdentifierCurrentDelegate(Script_ParseIdentifierCurrent); sc.GetIni += new GetIniDelegate(Script_GetIni); sc.WriteIni += new WriteIniDelegate(Script_WriteIni); sc.CheckIsOp += new IsOpDelegate(Script_CheckIsOp); sc.CheckIsVoice += new IsVoiceDelegate(Script_CheckIsVoice); sc.RunScript += new RunScriptDelegate(Script_RunScript); sc.GetDataFolder += new GetDataFolderDelegate(Script_GetDataFolder); scriptObject.AddObject("irc", (object)sc, true); scriptObject.AllowUI = true; scriptObject.State = ScriptControlStates.Connected; //read in all the loaded script files if (File.Exists(scriptSettingsFile)) { XmlSerializer deserializer = new XmlSerializer(typeof(IceChatVBScripts)); TextReader textReader = new StreamReader(scriptSettingsFile); icechatVBScripts = (IceChatVBScripts)deserializer.Deserialize(textReader); textReader.Close(); textReader.Dispose(); } else { icechatVBScripts = new IceChatVBScripts(); } foreach (String file in icechatVBScripts.listScripts) { if (File.Exists(this.CurrentFolder + Path.DirectorySeparatorChar + "Scripts" + Path.DirectorySeparatorChar + file)) { //System.Diagnostics.Debug.WriteLine("loading script file into engine: " + file); StreamReader sr = new StreamReader(this.CurrentFolder + Path.DirectorySeparatorChar + "Scripts" + Path.DirectorySeparatorChar + file); //add the script file into its own module object o = new object(); Module m = scriptObject.Modules.Add(file, ref o); m.AddCode(sr.ReadToEnd()); sr.Close(); } } }