public AddPresetViewModel() { var output = ApplicationContinuity.VerifyAll(); Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets()); IsHintVisible = Presets.Count <= 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); } }
private void UninstallPreset(object o) { PresetManager.UninstallPreset((string)o); Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets()); IsHintVisible = Presets.Count <= 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; }
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; }
/// <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); }
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); }
/// <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); }
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); }
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"); }
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(); } }
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()); }
/// <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); }
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); } } } }
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(); } }); }
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(); }
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; }
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; }
/// <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); } }
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(); }
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(); } }
private void CleanGameDirectory(object o) { PresetManager.CleanGameDirectory(true); Presets = new ObservableCollection <PresetData>(PresetManager.GetPresets()); }
private void SyncPreset(object o) { PresetManager.SyncPreset((string)o); }
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"); }
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; }
private void Awake() { instance = this; }