Пример #1
0
        public void initTaskInterperter()
        {
            lock (LispTaskInterperterLock)
            {

                if (_lispTaskInterperter == null)
                {
                    if (!LispTaskInterperterNeedLoad)
                    {
                        return;
                        throw new NullReferenceException("_lispTaskInterperter");
                    }
                    LispTaskInterperterNeedLoad = false;
                    try
                    {
                        DebugWriteLine(OpenMetaverse.Helpers.LogLevel.Debug, "Start Loading Main TaskInterperter ... '" + taskInterpreterType + "' \n");
                        _lispTaskInterperter = ScriptManager.LoadScriptInterpreter(taskInterpreterType, this, null);
                        _lispTaskInterperter.LoadFile("cogbot.lisp",WriteLine);
                        _lispTaskInterperter.Intern("clientManager", this);
                        _scriptEventListener = new ScriptEventListener(_lispTaskInterperter, null);
                        ///_lispTaskInterperter.Intern("thisClient", this);
                        DebugWriteLine(OpenMetaverse.Helpers.LogLevel.Debug,"Completed Loading TaskInterperter '" + taskInterpreterType + "'\n");
                        // load the initialization string
                    }
                    catch (Exception e)
                    {
                        WriteLine("!Exception: " + e.GetBaseException().Message);
                        WriteLine("error occured: " + e.Message);
                        WriteLine("        Stack: " + e.StackTrace.ToString());
                    }
                }
                else
                {
                    return;// _lispTaskInterperter;
                }
            }
            return;// _lispTaskInterperter;
        }
Пример #2
0
        private void LoadTaskInterpreter()
        {
            lock (LispTaskInterperterLock)
                try
                {
                    if (_LispTaskInterperter != null) return;
                    //WriteLine("Start Loading TaskInterperter ... '" + TaskInterperterType + "' \n");
                    _LispTaskInterperter = ClientManager.SingleInstance.TaskInterperter.newInterpreter(this);
                    _LispTaskInterperter.LoadFile("cogbot.lisp", DebugWriteLine);
                    Intern("clientManager", ClientManager);
                    Intern("client", this);
                    if (scriptEventListener == null)
                    {
                        scriptEventListener = new ScriptEventListener(_LispTaskInterperter, this);
                        botPipeline.AddSubscriber(scriptEventListener);
                    }

                    //  WriteLine("Completed Loading TaskInterperter '" + TaskInterperterType + "'\n");
                    // load the initialization string
                    CatchUpInterns();
                }
                catch (Exception e)
                {
                    LogException("LoadTaskInterperter", e);
                }
        }
Пример #3
0
        } // method: Eval

        /// <summary>
        ///
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public override string Str(object code)
        {
            return(ScriptEventListener.argString(code));
        } // method: Str