ACR_Candlekeep.ACR_Candlekeep.ScriptMain C# (CSharp) Метод

ScriptMain() публичный Метод

public ScriptMain ( [ ScriptParameters, [ DefaultReturnCode ) : Int32
ScriptParameters [
DefaultReturnCode [
Результат System.Int32
        public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode)
        {
            int Value = (int)ScriptParameters[0]; // ScriptParameterTypes[0] is typeof(int)

            switch ((Commands)Value)
            {
                case Commands.INITIALIZE_ARCHIVES:
                        Archivist worker = new Archivist();
                        if (ArchivesInstance != null)
                            break;

                        ArchivesInstance = new Archives(worker);
                        ALFA.Shared.Modules.InfoStore = ArchivesInstance;
                        worker.DoWork += worker.InitializeArchives;
                        worker.RunWorkerAsync();

                        Monks.LoadAreas(this);

                        ShowLoadingProgressDebugString();

                        break;
                case Commands.PRINT_DEBUG:
                        SendMessageToAllDMs("Running ACR_Candlekeep");
                        SendMessageToAllDMs(Archivist.debug);
                        break;
                case Commands.LIST_AREAS:
                        foreach (ALFA.Shared.ActiveArea area in ALFA.Shared.Modules.InfoStore.ActiveAreas.Values)
                        {
                            SendMessageToAllDMs(area.Name);
                            foreach (ALFA.Shared.ActiveArea areaTarget in area.ExitTransitions.Values)
                            {
                                SendMessageToAllDMs(String.Format(" - {0}", areaTarget.Name));
                            }
                        }
                        break;
                case Commands.LIST_SPELLS:
                    foreach(ALFA.Shared.SpellCastItemProperties ip in ALFA.Shared.Modules.InfoStore.IPCastSpells)
                    {
                        SendMessageToAllDMs(ip.ToString());
                    }
                    break;
                case Commands.LIST_BASE_ITEMS:
                    foreach(ALFA.Shared.BaseItem item in ALFA.Shared.Modules.InfoStore.BaseItems)
                    {
                        SendMessageToAllDMs(item.ToString());
                    }
                    break;
            }

            return 0;
        }