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