Esempio n. 1
0
        internal ScriptFunctions(ScriptReturnData srd, string dataFilesPath, string pluginsPath,
                                 Framework _f,
                                 IScriptRunnerFunctions scriptRunnerFunctions)
        {
            f = _f;
            //Warn = scriptRunnerFunctions.Warn;
            IDialogYesNo         = scriptRunnerFunctions.DialogYesNo;
            ExistsFile           = scriptRunnerFunctions.ExistsFile;
            GetFileVersion       = scriptRunnerFunctions.GetFileVersion;
            DialogSelect         = scriptRunnerFunctions.DialogSelect;
            IMessage             = scriptRunnerFunctions.Message;
            IDisplayImage        = scriptRunnerFunctions.DisplayImage;
            IDisplayText         = scriptRunnerFunctions.DisplayText;
            IInputString         = scriptRunnerFunctions.InputString;
            IGetActiveESPNames   = scriptRunnerFunctions.GetActiveESPNames;
            IGetFile             = scriptRunnerFunctions.GetFileFromPath;
            IGetExistingESPNames = scriptRunnerFunctions.GetExistingESPNames;
            IUncheckESP          = scriptRunnerFunctions.UncheckESP;
            IRegisterBSA         = scriptRunnerFunctions.RegisterBSA;
            IUnregisterBSA       = scriptRunnerFunctions.UnregisterBSA;
            IReadINI             = scriptRunnerFunctions.ReadINI;
            IReadRendererInfo    = scriptRunnerFunctions.ReadRendererInfo;

            this.srd  = srd;
            DataFiles = dataFilesPath;
            Plugins   = pluginsPath;
        }
Esempio n. 2
0
        /// <summary>
        /// The ScriptRunner is responsible for running a script inside an OMOD
        /// </summary>
        /// <param name="omod">The OMOD with the script to be executed</param>
        /// <param name="scriptRunnerFunctions">All callback functions for execution</param>
        public ScriptRunner(ref OMOD omod, IScriptRunnerFunctions scriptRunnerFunctions)
        {
            OMOD = omod;
            ScriptRunnerFunctions = scriptRunnerFunctions;
            script = omod.GetScript();
            if ((byte)script[0] >= (byte)ScriptType.Count)
            {
                type = ScriptType.obmmScript;
            }
            else
            {
                type   = (ScriptType)script[0];
                script = script.Substring(1);
            }

            DataPath    = omod.ExtractDataFiles();
            PluginsPath = omod.ExtractPlugins();
        }