예제 #1
0
        /// <summary>
        /// Initialises this script engine instance with the required internal components.
        /// </summary>
        /// <param name="activeScriptObject">The IActiveScript instance to initialise this script engine with.</param>
        private void Initialise(object activeScriptObject)
        {
            IActiveScript activeScriptInstance = activeScriptObject as IActiveScript;

            if (activeScriptInstance == null)
            {
                throw new InvalidActiveScriptClassException();
            }

            this.parser = ActiveScriptParse.MakeActiveScriptParse(activeScriptInstance);

            this.parser.InitNew();

            this.scriptSite = new ActiveScriptSite(this);
            activeScriptInstance.SetScriptSite(this.scriptSite);

            this.hostObjects = new Dictionary <string, object>();
            this.scripts     = new Dictionary <ulong, ScriptInfo>();

            this.activeScript = activeScriptInstance;
        }