Beispiel #1
0
        public AddPresetViewModel()
        {
            var output = ApplicationContinuity.VerifyAll();

            Presets       = new ObservableCollection <PresetData>(PresetManager.GetPresets());
            IsHintVisible = Presets.Count <= 0;
        }
Beispiel #2
0
        public TimePlanControl()
        {
            InitializeComponent();

            this.IsLive        = false;
            this.btnNext.Text  = TimePlanControl.NextTimerButtonText;
            this.CommandIssuer = new TimePlanCommandIssuer();
            this.TimePlanView.CommandIssuer = this.CommandIssuer;

            this.presetManager = new PresetManager();
            var settings = this.presetManager.LoadAll();

            if (settings != null)
            {
                foreach (var name in settings)
                {
                    this.clbAllTimers.Items.Add(name);
                }

                return;
            }
            else
            {
                MessageBox.Show("There was an error when trying to load pre-saved settings.", MainApplication.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #3
0
        private void UninstallPreset(object o)
        {
            PresetManager.UninstallPreset((string)o);
            Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets());

            IsHintVisible = Presets.Count <= 0;
        }
Beispiel #4
0
        private void ClosePresetDialog(object sender, DialogClosingEventArgs eventargs)
        {
            // Close the dialog unless more commands are needed.
            if ((bool)eventargs.Parameter == false)
            {
                return;
            }
            if (PresetName == null)
            {
                return;
            }
            if (GetSettings.Return(SettingTypes.GameLocation) == "")
            {
                return;
            }

            PresetManager.SavePreset(PresetName, PresetDescription, UsingGlobalIni);

            Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets());

            PresetName        = null;
            PresetDescription = null;

            IsHintVisible = Presets.Count <= 0;
        }
Beispiel #5
0
        void ReloadPresets(string defaultPresetName)
        {
            presetComboBox.Items.Clear();
            presetComboBox.Items.Add(blankPreset);

            Preset defaultPreset = blankPreset;

            defaultPresetName = defaultPresetName.ToLower();
            string[] presetFiles = PresetManager.GetPresetFiles();
            foreach (string presetFile in presetFiles)
            {
                try
                {
                    Preset preset = PresetReader.LoadPreset(presetFile);
                    presetComboBox.Items.Add(preset);

                    if (preset.Name.ToLower() == defaultPresetName)
                    {
                        defaultPreset = preset;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("{0} is not a valid preset file:\n{1}", presetFile, ex.Message), null, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }

            presetComboBox.SelectedItem = defaultPreset;
        }
Beispiel #6
0
        /// <inheritdoc />
        /// <summary>
        ///     Called during mod initialization.
        /// </summary>
        public override void Initialize()
        {
            Logger.Message("Initializing.");

            var presetManager = new PresetManager(GameData);

            GameData.PresetManager = presetManager;
        }
        /// <summary>Creates a new preset view model.</summary>
        public PresetViewModel(Preset preset, ModManager modManager, PresetManager presetManager)
        {
            this.modManager    = modManager;
            this.presetManager = presetManager;

            Preset = preset;

            RenameCommand  = new Command(Rename);
            DisbandCommand = new Command(Disband);
        }
        /// <summary>Creates a new preset view model.</summary>
        public PresetViewModel(Preset preset, ModManager modManager, PresetManager presetManager)
        {
            this.modManager = modManager;
            this.presetManager = presetManager;

            Preset = preset;

            RenameCommand = new Command(Rename);
            DisbandCommand = new Command(Disband);
        }
Beispiel #9
0
        public void Start()
        {
            SASControllers[(int)SASList.Pitch] = new PIDErrorController(SASList.Pitch, defaultPitchGains);
            SASControllers[(int)SASList.Bank]  = new PIDErrorController(SASList.Bank, defaultRollGains);
            SASControllers[(int)SASList.Hdg]   = new PIDErrorController(SASList.Hdg, defaultHdgGains);

            PresetManager.initDefaultPresets(new SSASPreset(SASControllers, "SSAS"));
            PresetManager.loadCraftSSASPreset(this);

            tooltip = "";
        }
    public void Fetch()
    {
        ApiManager    apiManager    = GameObject.FindObjectOfType <ApiManager>();
        PresetManager presetManager = GameObject.FindObjectOfType <PresetManager>();

        int    presetId = (int)apiManager.User.activeSkinId;
        Preset preset   = presetManager.presetList[presetId];

        myWagon.ChangeColor(preset.color);
        myWagon.ChangeTexture(preset.texture);
    }
Beispiel #11
0
        /// <summary>Creates a new view model wrapper for a mod.</summary>
        public ModViewModel(Mod mod, ModManager modManager, PresetManager presetManager) : base()
        {
            this.modManager    = modManager;
            this.presetManager = presetManager;

            Mod = mod;

            DeleteModCommand       = new Command(DeleteMod);
            AddModToPresetCommand  = new Command <Preset>(AddToPreset);
            NewPresetForModCommand = new Command(AddToNewPreset);
        }
Beispiel #12
0
        IEnumerator Initialise()
        {
            while (ReferenceEquals(vesModule.vesselRef.Autopilot.SAS.pidLockedPitch, null) || ReferenceEquals(vesModule.vesselRef.Autopilot.RSAS.pidPitch, null))
            {
                yield return(null);
            }

            PresetManager.initDefaultPresets(new SASPreset(vesModule.vesselRef.Autopilot.SAS, "stock"));
            PresetManager.initDefaultPresets(new RSASPreset(vesModule.vesselRef.Autopilot.RSAS, "RSAS"));

            PresetManager.loadCraftSASPreset(this);
        }
        /// <summary>Creates a new view model wrapper for a mod.</summary>
        public ModViewModel(Mod mod, ModManager modManager, PresetManager presetManager)
            : base()
        {
            this.modManager = modManager;
            this.presetManager = presetManager;

            Mod = mod;

            DeleteModCommand = new Command(DeleteMod);
            AddModToPresetCommand = new Command<Preset>(AddToPreset);
            NewPresetForModCommand = new Command(AddToNewPreset);
        }
Beispiel #14
0
        void LoadPreset(string presetType, string path)
        {
            PresetManager pm = containingAtom.GetComponentInChildren <PresetManager>(includeInactive: true);

            pm.itemType = PresetManager.ItemType.Atom;

            JSONStorable    js             = containingAtom.GetStorableByID(presetType);
            JSONStorableUrl presetPathJSON = js.GetUrlJSONParam("presetBrowsePath");

            presetPathJSON.val = SuperController.singleton.NormalizePath(path);
            js.CallAction("LoadPreset");
        }
Beispiel #15
0
        private void drawSSASPresetWindow(int id)
        {
            if (GUI.Button(new Rect(SSASPresetwindow.width - 16, 2, 14, 14), ""))
            {
                bShowSSASPresets = false;
            }

            if (!ReferenceEquals(PresetManager.Instance.activeSSASPreset, null))
            {
                GUILayout.Label(string.Format("Active Preset: {0}", PresetManager.Instance.activeSSASPreset.name));
                if (PresetManager.Instance.activeSSASPreset.name != "SSAS")
                {
                    if (GUILayout.Button("Update Preset"))
                    {
                        PresetManager.UpdateSSASPreset(this);
                    }
                }
                GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));
            }

            GUILayout.BeginHorizontal();
            newPresetName = GUILayout.TextField(newPresetName);
            if (GUILayout.Button("+", GUILayout.Width(25)))
            {
                PresetManager.newSSASPreset(ref newPresetName, SASControllers, vesModule.vesselRef);
            }
            GUILayout.EndHorizontal();

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            if (GUILayout.Button("Reset to Defaults"))
            {
                PresetManager.loadSSASPreset(PresetManager.Instance.craftPresetDict["default"].SSASPreset, this);
            }

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            foreach (SSASPreset p in PresetManager.Instance.SSASPresetList)
            {
                GUILayout.BeginHorizontal();
                if (GUILayout.Button(p.name))
                {
                    PresetManager.loadSSASPreset(p, this);
                }
                else if (GUILayout.Button("x", GUILayout.Width(25)))
                {
                    PresetManager.deleteSSASPreset(p);
                }
                GUILayout.EndHorizontal();
            }
        }
Beispiel #16
0
        private void InstallPreset(object o)
        {
            if ((string)o == GetSettings.Return(SettingTypes.InstalledPreset))
            {
                PresetManager.CleanGameDirectory();
                SaveSettings.Save(SettingTypes.InstalledPreset, "");
            }

            else
            {
                PresetManager.InstallPreset((string)o);
            }

            Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets());
        }
Beispiel #17
0
        /// <summary>
        ///     Class constructor.
        /// </summary>
        public UserData(FilterOptions options)
        {
            // get alerted when RimWorld has loaded its definition (Defs) files
            PrepareLanding.Instance.OnDefsLoaded += ExecuteOnDefsLoaded;

            // get alerted when RimWorld has finished generating the world
            PrepareLanding.Instance.OnWorldGenerated += ExecuteOnWorldGenerated;

            // save options
            Options = options;

            // register to the option changed event
            Options.PropertyChanged += OptionChanged;

            // create the preset manager.
            PresetManager = new PresetManager(this);
        }
Beispiel #18
0
 private void removePresetToolStripButton_Click(object sender, EventArgs e)
 {
     if (presetComboBox.SelectedItem != blankPreset)
     {
         if (MessageBox.Show(string.Format("Delete preset {0}?", currentPreset.Name), "Delete Preset", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
         {
             try
             {
                 PresetManager.DeletePresetFile(string.Format("{0}.xml", currentPreset.Name));
                 ReloadPresets();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
Beispiel #19
0
        public Appearance(DollMaker dm) : base(dm)
        {
            dm.mainControls.RegisterTab("Morphs", moduleUI, this);

            morphSearch = new MorphSearch(this);

            JSONArray bodyUI = DollMaker.CONFIG_JSON["bodyUI"].AsArray;

            for (int i = 0; i < bodyUI.Count; i++)
            {
                JSONClass uiPart     = bodyUI[i].AsObject;
                string    title      = uiPart["title"].Value;
                string    boneName   = uiPart["bone"].Value;
                string    searchTerm = uiPart["search"].Value;
                float     x          = uiPart["offset"]["x"].AsFloat;
                float     y          = uiPart["offset"]["y"].AsFloat;
                float     z          = uiPart["offset"]["z"].AsFloat;

                DAZBone bone = atom.GetStorableByID(boneName) as DAZBone;

                BoneAttachedUI boneUI = new BoneAttachedUI(title, bone, ui, new Vector3(x, y, z), moduleUI);
                boneUI.button.button.onClick.AddListener(() =>
                {
                    morphSearch.searchBox.text = searchTerm;
                });
                baUI.Add(boneUI);
            }

            UIDynamicButton loadMorphsButton = CreateModuleButton("Load Morph Preset");

            loadMorphsButton.button.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUDAuto();
                PresetManager pm             = atom.GetComponentInChildren <PresetManager>(includeInactive: true);
                PresetManagerControlUI pmcui = atom.GetComponentInChildren <PresetManagerControlUI>(includeInactive: true);
                if (pm != null && pmcui != null)
                {
                    pm.itemType   = PresetManager.ItemType.Custom;
                    pm.customPath = "Atom/Person/Morphs/";
                    pmcui.browsePresetsButton.onClick.Invoke();
                }
            });
        }
Beispiel #20
0
        internal static void Draw(PresetManager presetManager)
        {
            GUILayout.BeginVertical(GUIStyles.Skin.box);
            Label("Presets", "");
            GUILayout.Space(1);
            if (presetManager.PresetNames.IsNullOrEmpty())
            {
                Label("No presets found", "");
            }
            else
            {
                presetScrollView    = GUILayout.BeginScrollView(presetScrollView);
                _presetIndexCurrent = Array.IndexOf(presetManager.PresetNames, presetManager.CurrentPreset);
                _presetIndexCurrent = GUILayout.SelectionGrid(_presetIndexCurrent, presetManager.PresetNames, Inspector.Width / 150);
                if (ShouldUpdate)
                {
                    presetManager.CurrentPreset = presetManager.PresetNames[_presetIndexCurrent];
                    _presetIndexOld             = _presetIndexCurrent; // to prevent continous update;
                }

                GUILayout.EndScrollView();
            }
            GUILayout.Space(1);
            GUILayout.BeginHorizontal();
            _nameToSave = GUILayout.TextField(_nameToSave);
            bool isValidFileName = (0 != _nameToSave.Length && 256 >= _nameToSave.Length);
            bool isCue           = (_nameCue == _nameToSave);

            if (Button("Save") && isValidFileName && !isCue)
            {
                presetManager.Save(_nameToSave);
                presetManager.CurrentPreset = _nameToSave;
                _presetIndexOld             = Array.IndexOf(presetManager.PresetNames, presetManager.CurrentPreset);
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(1);
            if (!isCue && !isValidFileName)
            {
                GUILayout.Label("Please specify a valid file name.");
            }

            GUILayout.EndVertical();
        }
Beispiel #21
0
        List <string> GetPresets(string storeName)
        {
            PresetManager pm = containingAtom.GetComponentInChildren <PresetManager>(includeInactive: true);

            pm.itemType        = PresetManager.ItemType.Atom;
            pm.creatorName     = null;
            pm.storeFolderName = storeName;
            pm.storeName       = storeName;

            List <string> list = new List <string>();

            string storeFolderPath = pm.GetStoreFolderPath();

            if (String.IsNullOrEmpty(storeFolderPath) == false && String.IsNullOrEmpty(storeName) == false)
            {
                list = GetFilesAtPathRecursive(storeFolderPath, "*.vap");
            }

            return(list);
        }
        public ModsTabViewModel(CCMMInitialization initialization)
        {
            EnableAllModsCommand = new Command(EnableAllMods);
            DisableAllModsCommand = new Command(DisableAllMods);
            RefreshListCommand = new Command(LoadAllMods);
            InstallModCommand = new Command(InstallModsFromDialog);

            UpdateFiltersCommand = new Command(RefreshView);

            Icons = new ModsTabIcons();

            ShowEnabledMods = true;
            ShowDisabledMods = true;

            InitModsCollectionSource();

            this.initialization = initialization;
            this.modManager = initialization.ModManager;
            this.presetManager = initialization.PresetManager;
        }
Beispiel #23
0
        public ModsTabViewModel(CCMMInitialization initialization)
        {
            EnableAllModsCommand  = new Command(EnableAllMods);
            DisableAllModsCommand = new Command(DisableAllMods);
            RefreshListCommand    = new Command(LoadAllMods);
            InstallModCommand     = new Command(InstallModsFromDialog);

            UpdateFiltersCommand = new Command(RefreshView);

            Icons = new ModsTabIcons();

            ShowEnabledMods  = true;
            ShowDisabledMods = true;

            InitModsCollectionSource();

            this.initialization = initialization;
            this.modManager     = initialization.ModManager;
            this.presetManager  = initialization.PresetManager;
        }
Beispiel #24
0
        /// <summary>
        /// Opens the preset manager to import/export when game isn't open.
        /// </summary>
        private void OnManage()
        {
            var settings = Settings.Load();

            // Create new preset manager window.
            var win = new PresetManager();

            // Pull view model from window.
            var vm = win.DataContext as PresetManagerViewModel;

            // Populate the presets with our current presets as a new instance.
            vm.Presets = new ObservableCollection <Preset>(settings.Presets);

            // Check if we're saving changes.
            if (win.ShowDialog() == true)
            {
                // Reassign presets in user settings to the ones managed by the window.
                settings.Presets = vm.Presets;
                // Save the settings.
                Settings.Save(UserSettings);
            }
        }
Beispiel #25
0
        private void addButton_Click(object sender, EventArgs e)
        {
            presetName = presetNameTextBox.Text.Trim();
            if (presetName.Length == 0)
            {
                MessageBox.Show("Please enter a preset name.", null, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                presetNameTextBox.Focus();
                return;
            }

            if (PresetManager.PresetFileExists(string.Format("{0}.xml", presetName)))
            {
                if (MessageBox.Show(string.Format("Preset {0} already exists.  Overwrite?", presetName), Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel)
                {
                    presetNameTextBox.Focus();
                    return;
                }
            }

            DialogResult = DialogResult.OK;
            Close();
        }
Beispiel #26
0
        public MainControls(DollMaker dm) : base(dm)
        {
            float buttonHeight = 60;

            sharedControlsLayout = ui.CreateGridLayout(1200, buttonHeight);
            sharedControlsLayout.transform.localPosition = new Vector3(0, -100, 0);
            sharedControlsLayout.cellSize        = new Vector2(300, buttonHeight);
            sharedControlsLayout.constraintCount = 1;
            sharedControlsLayout.constraint      = GridLayoutGroup.Constraint.FixedRowCount;
            sharedControlsLayout.GetComponent <RectTransform>().pivot = new Vector2(0, 0);

            UIDynamicButton selectButton = ui.CreateButton("Select", 200, buttonHeight, sharedControlsLayout.transform);

            selectButton.button.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUD();
                SuperController.singleton.ClearSelection();
                SuperController.singleton.SelectController(atom.mainController);
            });

            UIDynamicButton loadButton = ui.CreateButton("Load Appearance", 200, buttonHeight, sharedControlsLayout.transform);

            loadButton.button.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUD();
                atom.LoadAppearancePresetDialog();
                dm.RestartModules();
            });

            UIDynamicButton loadPresetButton = ui.CreateButton("Load Preset", 200, buttonHeight, sharedControlsLayout.transform);

            loadPresetButton.button.onClick.AddListener(() =>
            {
                PresetManager pm             = atom.GetComponentInChildren <PresetManager>(includeInactive: true);
                PresetManagerControlUI pmcui = atom.GetComponentInChildren <PresetManagerControlUI>(includeInactive: true);
                if (pm != null && pmcui != null)
                {
                    pm.itemType   = PresetManager.ItemType.Custom;
                    pm.customPath = "Atom/Person/";
                    pmcui.browsePresetsButton.onClick.Invoke();
                    dm.RestartModules();
                }
            });

            UIDynamicButton saveButton = ui.CreateButton("Save Appearance", 200, buttonHeight, sharedControlsLayout.transform);

            saveButton.button.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUD();
                atom.SavePresetDialog(false, true);
            });

            moduleSelectLayout = ui.CreateGridLayout(1200, 80);
            moduleSelectLayout.transform.localPosition = new Vector3(0, -200, 0);
            moduleSelectLayout.cellSize        = new Vector2(300, 80);
            moduleSelectLayout.constraintCount = 1;
            moduleSelectLayout.constraint      = GridLayoutGroup.Constraint.FixedRowCount;
            moduleSelectLayout.GetComponent <RectTransform>().pivot = new Vector2(0, 0);
        }
        protected void DrawBottomButtons(Rect inRect)
        {
            var       buttonsY   = inRect.height - 30f;
            const int numButtons = 2;

            var buttonRects = inRect.SpaceEvenlyFromCenter(buttonsY, numButtons, _bottomButtonSize.x,
                                                           _bottomButtonSize.y, 20f);

            if (buttonRects.Count != numButtons)
            {
                return;
            }

            string verb;

            switch (LoadSaveMode)
            {
            case LoadSaveMode.Unknown:
                // shouldn't happen
                verb = "Load / Save";
                break;

            case LoadSaveMode.Load:
                verb = "Load";
                break;

            case LoadSaveMode.Save:
                verb = "Save";
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            var presetExistsProtectFromOverwrite = false;

            if (!string.IsNullOrEmpty(_selectedFileName))
            {
                presetExistsProtectFromOverwrite = PresetManager.PresetExists(_selectedFileName) &&
                                                   !_allowOverwriteExistingPreset;
            }

            var savedColor = GUI.color;

            if (LoadSaveMode == LoadSaveMode.Save)
            {
                GUI.color = presetExistsProtectFromOverwrite ? Color.red : Color.green;
            }
            else
            {
                GUI.color = Color.green;
            }

            if (Widgets.ButtonText(buttonRects[0], $"{verb} Preset"))
            {
                switch (LoadSaveMode)
                {
                case LoadSaveMode.Load:
                    LoadPreset();
                    break;

                case LoadSaveMode.Save:
                    SavePreset(presetExistsProtectFromOverwrite);
                    break;
                }
            }
            GUI.color = savedColor;

            if (Widgets.ButtonText(buttonRects[1], $"Exit {verb}"))
            {
                LoadSaveMode = LoadSaveMode.Unknown;
                _allowOverwriteExistingPreset = false;
                _selectedItemIndex            = -1;
                _selectedFileName             = null;
                PrepareLanding.Instance.MainWindow.TabController.SetPreviousTabAsSelectedTab();
            }
        }
Beispiel #28
0
 private void CleanGameDirectory(object o)
 {
     PresetManager.CleanGameDirectory(true);
     Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets());
 }
Beispiel #29
0
 private void SyncPreset(object o)
 {
     PresetManager.SyncPreset((string)o);
 }
Beispiel #30
0
        private void Initialize()
        {
            Main.Logger.Log("Start of XLGraphics");

            // load settings
            Main.settings = Settings.Load();

            // initialize components
            PresetManager.Instantiate();
            UI.Instantiate();
            VolumeUtils.Instantiate();
            gameObject.AddComponent <CustomCameraController>();
            gameObject.AddComponent <CustomDofController>();
            gameObject.AddComponent <CustomLightController>();
            gameObject.AddComponent <CustomPhysicalCameraController>();

            PresetManager.Instance.LoadPresets();

            // prepare UI
            UI.Instance.CollectElements(false);
            UI.Instance.AddBaseListeners();
            UI.Instance.AddPresetListeners();

            basicEffectHandlers = new List <EffectHandler> {
                new PostProcessingHandler(),
                new VSyncHandler(),
                new FullScreenHandler(),
                new AntiAliasingHandler(),
                new RenderDistanceHandler(),
                new ResolutionHandler(),
                new OverlaysHandler()
            };

            presetEffectHandlers = new List <PresetEffectHandler> {
                new AmbientOcclusionHandler(),
                new BloomHandler(),
                new ChromaticAberrationHandler(),
                new ColorAdjustmentsHandler(),
                new DepthOfFieldHandler(),
                new FilmGrainHandler(),
                new FovOverrideHandler(),
                new LensDistortionHandler(),
                new LightHandler(),
                new MotionBlurHandler(),
                new PaniniProjectionHandler(),
                new PhysicalCameraHandler(),
                new ToneMappingHandler(),
                new VignetteHandler(),
                new WhiteBalanceHandler()
            };

            cameraEffectHandlers = new List <EffectHandler> {
                new CameraModeHandler(),
                new ReplayFovHandler(),
                new FollowCameraHandler(),
                new NormalCameraHandler(),
                new PovCameraHandler(),
                new SkateCameraHandler()
            };

            foreach (var eH in basicEffectHandlers)
            {
                eH.ConnectUI();
            }
            foreach (var eH in presetEffectHandlers)
            {
                eH.ConnectUI();
            }
            foreach (var eH in cameraEffectHandlers)
            {
                eH.ConnectUI();
            }

            XLGraphicsMenu.Instance.basicContent.SetActive(true);
            XLGraphicsMenu.Instance.presetList.SetActive(true);
            XLGraphicsMenu.Instance.main.SetActive(false);

            Main.Logger.Log("End of XLGraphics");
        }
Beispiel #31
0
        public Blend(DollMaker dm) : base(dm)
        {
            dm.mainControls.RegisterTab("Blend", moduleUI, this);

            Button addMorphPresetButton = CreateModuleButton("Add Preset").button;

            addMorphPresetButton.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUD();
            });
            JSONStorableUrl url = new JSONStorableUrl("presetPath", "", (string path) =>
            {
                if (string.IsNullOrEmpty(path))
                {
                    return;
                }

                string jsonString    = SuperController.singleton.ReadFileIntoString(path);
                JSONClass appearance = JSON.Parse(jsonString).AsObject;

                AddAppearance(appearance, PathExt.GetFileNameWithoutExtension(path));
            });

            url.RegisterFileBrowseButton(addMorphPresetButton);

            Button addEntirePresetFolder = CreateModuleButton("Add Folder").button;

            addEntirePresetFolder.onClick.AddListener(() =>
            {
                SuperController.singleton.editModeToggle.isOn = true;
                SuperController.singleton.ShowMainHUD();

                PresetManager pm             = atom.GetComponentInChildren <PresetManager>(includeInactive: true);
                PresetManagerControlUI pmcui = atom.GetComponentInChildren <PresetManagerControlUI>(includeInactive: true);
                if (pm != null && pmcui != null)
                {
                    pm.itemType         = PresetManager.ItemType.Custom;
                    pm.customPath       = "Atom/Person/Morphs/";
                    string path         = pm.GetStoreFolderPath();
                    List <string> files = SuperController.singleton.GetFilesAtPath(path).ToList().Where((fileName) =>
                    {
                        return(PathExt.GetExtension(fileName) == ".vap");
                    }).ToList();

                    files.ForEach((file) =>
                    {
                        string jsonString    = SuperController.singleton.ReadFileIntoString(file);
                        JSONClass appearance = JSON.Parse(jsonString).AsObject;
                        AddAppearance(appearance, PathExt.GetFileNameWithoutExtension(file));
                    });
                }
            });

            // Deprecated.
            //Button addAppearanceButton = CreateModuleButton("Add From Look").button;
            //addAppearanceButton.onClick.AddListener(() =>
            //{
            //    SuperController.singleton.editModeToggle.isOn = true;
            //    SuperController.singleton.ShowMainHUD();

            //    SuperController.singleton.GetDirectoryPathDialog((string dir) =>
            //    {
            //        if (dir == null || !(dir != string.Empty))
            //        {
            //            return;
            //        }

            //        //  have load dialog work both inside and outside folder
            //        try
            //        {
            //            PerformLoadOnPath(dir);
            //        }
            //        catch
            //        {
            //            string folderName = "\\" + dir.Substring(dir.LastIndexOf('\\') + 1) + "\\";
            //            dir = dir.Replace(folderName, "\\");
            //            PerformLoadOnPath(dir);
            //        }

            //    }, SuperController.singleton.savesDir + "Person" + "\\appearance");
            //});


            appearancesLayout = ui.CreateGridLayout(1000, 500, moduleUI.transform);
            appearancesLayout.transform.localPosition = new Vector3(0, -600, 0);
            appearancesLayout.GetComponent <RectTransform>().pivot = new Vector2(0, 0);
            appearancesLayout.childAlignment  = TextAnchor.UpperLeft;
            appearancesLayout.constraint      = GridLayoutGroup.Constraint.FixedColumnCount;
            appearancesLayout.constraintCount = 3;
            appearancesLayout.cellSize        = new Vector2(Mathf.FloorToInt(1000 / 3), 80);

            SuperController.singleton.currentSaveDir = SuperController.singleton.currentLoadDir;
            JSONClass initialAppearance = SuperController.singleton.GetSaveJSON(atom, false, true).AsObject["atoms"].AsArray[0].AsObject;

            AddAppearance(initialAppearance, "Current", 1);

            CreateModuleButton("Clear List").button.onClick.AddListener(() =>
            {
                ClearAppearances();
                initialAppearance = SuperController.singleton.GetSaveJSON(atom, false, true).AsObject["atoms"].AsArray[0].AsObject;
                AddAppearance(initialAppearance, "Current", 1);
            });

            CreateModuleButton("Randomize").button.onClick.AddListener(() =>
            {
                sliders.ForEach((slider) =>
                {
                    slider.slider.value = UnityEngine.Random.Range(0.0f, 1.0f);
                });
            });

            CreateModuleButton("Average").button.onClick.AddListener(() =>
            {
                sliders.ForEach((slider) =>
                {
                    slider.slider.value = 0.5f;
                });
            });


            JSONStorable         geometry  = atom.GetStorableByID("geometry");
            DAZCharacterSelector character = geometry as DAZCharacterSelector;

            morphControl = character.morphsControlUI;
        }
Beispiel #32
0
 private void Awake()
 {
     instance = this;
 }