//////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// public static void PrepareToggleSetting(ToggleSetting p_Setting, BSMLAction p_Action, bool p_Value, bool p_RemoveLabel) { p_Setting.gameObject.SetActive(false); p_Setting.Value = p_Value; if (p_Action != null) { p_Setting.onChange = p_Action; } if (p_RemoveLabel) { GameObject.Destroy(p_Setting.gameObject.GetComponentsInChildren <TextMeshProUGUI>().ElementAt(0).transform.gameObject); RectTransform l_RectTransform = p_Setting.gameObject.transform.GetChild(1) as RectTransform; l_RectTransform.anchorMin = Vector2.zero; l_RectTransform.anchorMax = Vector2.one; l_RectTransform.sizeDelta = Vector2.one; p_Setting.gameObject.GetComponent <LayoutElement>().preferredWidth = -1f; } p_Setting.gameObject.SetActive(true); }
public override GameObject CreateObject(Transform parent) { GameObject gameObject = Object.Instantiate(Resources.FindObjectsOfTypeAll <Toggle>().Select(x => x.transform.parent.gameObject).First(p => p.name == PrefabToggleName), parent, false); GameObject nameText = gameObject.transform.Find("NameText").gameObject; GameObject.Destroy(gameObject.GetComponent <BoolSettingsController>()); gameObject.name = "BSMLToggle"; gameObject.SetActive(false); Object.Destroy(nameText.GetComponent <LocalizedTextMeshProUGUI>()); ToggleSetting toggleSetting = gameObject.AddComponent <ToggleSetting>(); toggleSetting.toggle = gameObject.GetComponentInChildren <Toggle>(); toggleSetting.toggle.interactable = true; toggleSetting.toggle.onValueChanged.RemoveAllListeners(); toggleSetting.text = nameText.GetComponent <TextMeshProUGUI>(); toggleSetting.text.text = "Default Text"; toggleSetting.text.richText = true; toggleSetting.text.overflowMode = TextOverflowModes.Ellipsis; gameObject.AddComponent <ExternalComponents>().components.Add(toggleSetting.text); gameObject.GetComponent <LayoutElement>().preferredWidth = 90; gameObject.SetActive(true); return(gameObject); }
private static SettingSection BuildShootingSection() { var section = new SettingSection(SystemUtil.GetStringResource("SettingSection_Image")); section.Add(new ToggleSetting( new AppSettingData <bool>(SystemUtil.GetStringResource("PostviewTransferSetting"), SystemUtil.GetStringResource("Guide_ReceiveCapturedImage"), () => { return(ApplicationSettings.GetInstance().IsPostviewTransferEnabled); }, enabled => { ApplicationSettings.GetInstance().IsPostviewTransferEnabled = enabled; }))); section.Add(new ToggleSetting( new AppSettingData <bool>(SystemUtil.GetStringResource("ImmediatePostviewSetting"), SystemUtil.GetStringResource("Guide_ImmediatePostviewSetting"), () => { return(ApplicationSettings.GetInstance().ImmediatePostViewEnabled); }, enabled => { ApplicationSettings.GetInstance().ImmediatePostViewEnabled = enabled; }))); var limited = (Application.Current as App).IsFunctionLimited; var geoGuide = limited ? "TrialMessage" : "AddGeotag_guide"; AppSettingData <bool> geoSetting = null; geoSetting = new AppSettingData <bool>(SystemUtil.GetStringResource("AddGeotag"), SystemUtil.GetStringResource(geoGuide), () => { if (limited) { return(false); } else { return(ApplicationSettings.GetInstance().GeotagEnabled); } }, enabled => { ApplicationSettings.GetInstance().GeotagEnabled = enabled; if (enabled) { RequestPermission(geoSetting); } }); var geoToggle = new ToggleSetting(geoSetting); if (ApplicationSettings.GetInstance().GeotagEnabled) { RequestPermission(geoSetting); } if (limited) { ApplicationSettings.GetInstance().GeotagEnabled = false; geoSetting.IsActive = false; } section.Add(geoToggle); section.Add(new ToggleSetting( new AppSettingData <bool>(SystemUtil.GetStringResource("QuickConnectionSetting"), SystemUtil.GetStringResource("Guide_QuickConnection"), () => { return(ApplicationSettings.GetInstance().QuickConnectionEnabled); }, enabled => { ApplicationSettings.GetInstance().QuickConnectionEnabled = enabled; }))); return(section); }
public void Awake() { _wrapper = transform.Find("Wrapper"); _formView = _wrapper.transform.Find("CreateServerFormView"); _addToBrowserSetting = CreateToggle("Add to Server Browser", AddToBrowserValue, OnAddToBrowserChange); _serverNameSetting = CreateTextInput("Server Name", ServerNameValue, OnServerNameChange); _firstEnable = true; }
public override GameObject CreateObject(Transform parent) { if (toggleTemplate == null) { toggleTemplate = Resources.FindObjectsOfTypeAll <Toggle>().Select(x => x.transform.parent.gameObject).First(p => p.name == PrefabToggleName); } GameObject gameObject = Object.Instantiate(toggleTemplate, parent, false); GameObject nameText = gameObject.transform.Find("NameText").gameObject; GameObject switchView = gameObject.transform.Find("SwitchView").gameObject; Object.Destroy(gameObject.GetComponent <BoolSettingsController>()); gameObject.name = "BSMLToggle"; gameObject.SetActive(false); ToggleSetting toggleSetting = gameObject.AddComponent <ToggleSetting>(); AnimatedSwitchView animatedSwitchView = switchView.GetComponent <AnimatedSwitchView>(); toggleSetting.toggle = switchView.GetComponent <Toggle>(); toggleSetting.toggle.onValueChanged.RemoveAllListeners(); toggleSetting.toggle.onValueChanged.AddListener(animatedSwitchView.HandleOnValueChanged); toggleSetting.toggle.interactable = true; toggleSetting.toggle.isOn = false; animatedSwitchView.enabled = true; // force refresh the UI state LocalizedTextMeshProUGUI localizedText = ConfigureLocalizedText(nameText); toggleSetting.text = nameText.GetComponent <TextMeshProUGUI>(); toggleSetting.text.text = "Default Text"; toggleSetting.text.richText = true; toggleSetting.text.overflowMode = TextOverflowModes.Ellipsis; List <Component> externalComponents = gameObject.AddComponent <ExternalComponents>().components; externalComponents.Add(toggleSetting.text); externalComponents.Add(localizedText); gameObject.GetComponent <LayoutElement>().preferredWidth = 90; gameObject.SetActive(true); return(gameObject); }
public override GameObject CreateObject(Transform parent) { if (toggleTemplate == null) { toggleTemplate = Resources.FindObjectsOfTypeAll <GameplayModifierToggle>().First(x => x.name == "InstaFail"); } GameplayModifierToggle baseModifier = Object.Instantiate(toggleTemplate, parent, false); baseModifier.name = "BSMLModifier"; GameObject gameObject = baseModifier.gameObject; gameObject.SetActive(false); Object.Destroy(baseModifier); Object.Destroy(gameObject.GetComponent <HoverTextSetter>()); Object.Destroy(gameObject.transform.Find("Multiplier").gameObject); GameObject nameText = gameObject.transform.Find("Name").gameObject; TextMeshProUGUI text = nameText.GetComponent <TextMeshProUGUI>(); text.text = "Default Text"; LocalizableText localizedText = CreateLocalizableText(nameText); localizedText.MaintainTextAlignment = true; List <Component> externalComponents = gameObject.AddComponent <ExternalComponents>().components; externalComponents.Add(text); externalComponents.Add(localizedText); externalComponents.Add(gameObject.transform.Find("Icon").GetComponent <Image>()); ToggleSetting toggleSetting = gameObject.AddComponent <ToggleSetting>(); toggleSetting.toggle = gameObject.GetComponent <Toggle>(); toggleSetting.toggle.onValueChanged.RemoveAllListeners(); gameObject.SetActive(true); return(gameObject); }
public override GameObject CreateObject(Transform parent) { GameplayModifierToggle baseModifier = MonoBehaviour.Instantiate(Resources.FindObjectsOfTypeAll <GameplayModifierToggle>().First(x => (x.name == "InstaFail")), parent, false); baseModifier.name = "BSMLModifier"; GameObject gameObject = baseModifier.gameObject; MonoBehaviour.Destroy(baseModifier); MonoBehaviour.Destroy(gameObject.GetComponent <HoverHint>()); ExternalComponents externalComponents = gameObject.AddComponent <ExternalComponents>(); externalComponents.components.Add(gameObject.GetComponentInChildren <TextMeshProUGUI>()); externalComponents.components.Add(gameObject.transform.Find("Icon").GetComponent <Image>()); ToggleSetting toggleSetting = gameObject.AddComponent <ToggleSetting>(); toggleSetting.toggle = gameObject.GetComponent <Toggle>(); return(gameObject); }
private static SettingSection BuildShootingSection() { var section = new SettingSection(SystemUtil.GetStringResource("SettingSection_Image")); section.Add(new ToggleSetting { SettingData = new AppSettingData <bool>() { Title = SystemUtil.GetStringResource("PostviewTransferSetting"), Guide = SystemUtil.GetStringResource("Guide_ReceiveCapturedImage"), StateProvider = () => ApplicationSettings.GetInstance().IsPostviewTransferEnabled, StateObserver = enabled => ApplicationSettings.GetInstance().IsPostviewTransferEnabled = enabled } }); var limited = (Application.Current as App).IsFunctionLimited; var geoGuide = limited ? "TrialMessage" : "AddGeotag_guide"; AppSettingData <bool> geoSetting = null; geoSetting = new AppSettingData <bool>() { Title = SystemUtil.GetStringResource("AddGeotag"), Guide = SystemUtil.GetStringResource(geoGuide), StateProvider = () => { if (limited) { return(false); } else { return(ApplicationSettings.GetInstance().GeotagEnabled); } }, StateObserver = enabled => { ApplicationSettings.GetInstance().GeotagEnabled = enabled; if (enabled) { RequestPermission(geoSetting); } } }; var geoToggle = new ToggleSetting { SettingData = geoSetting }; if (ApplicationSettings.GetInstance().GeotagEnabled) { RequestPermission(geoSetting); } if (limited) { ApplicationSettings.GetInstance().GeotagEnabled = false; geoSetting.IsActive = false; } section.Add(geoToggle); return(section); }
public VModuleToggleSetting(ToggleSetting setting, VShelfItem parent) : base(setting.text, setting.value, parent) { this.setting = setting; }
private void LoadSettings(SettingsViewModel model) { // Load defaults // Load settings XmlDocument settingsDoc = App.settingsDoc; try { settingsDoc.Load(fileSettingsXMLPath); } catch (XmlException e) { System.Diagnostics.Debug.WriteLine("Error loading settings: " + e.Message); return; } catch (FileNotFoundException e) { System.Diagnostics.Debug.WriteLine("Error loading settings: " + e.Message); return; } IEnumerator docChildNodes = settingsDoc.ChildNodes.GetEnumerator(); while (docChildNodes.MoveNext()) { XmlNode currentNode = (docChildNodes.Current as XmlNode); if (currentNode.Name == "settings") { IEnumerator docNodes = currentNode.ChildNodes.GetEnumerator(); while (docNodes.MoveNext()) { XmlNode currentSubNode = (docNodes.Current as XmlNode); Setting setting = new Setting(); XmlAttributeCollection currentAttrib = currentSubNode.Attributes; string name = currentAttrib.GetNamedItem("name").Value ?? ""; Debug.WriteLine(name); string value = currentAttrib.GetNamedItem("value").Value ?? ""; Debug.WriteLine(value); string description = currentAttrib.GetNamedItem("description").Value ?? ""; Debug.WriteLine(description); IEnumerator attributes = currentAttrib.GetEnumerator(); while (attributes.MoveNext()) { XmlAttribute attr = (attributes.Current as XmlAttribute); Debug.WriteLine("Attribute"); Debug.WriteLine(attr.Name); Debug.WriteLine(attr.Value); } switch (currentSubNode.Name) { case "string": { setting = new StringSetting(name, value, description); break; } /*case "int":// TODO cast string to int * { * setting = new IntSetting(name, value, description); * break; * }*/ case "toggle": { setting = new ToggleSetting(name, (value == "true"), description); break; } default: { Debug.WriteLine("DEFAULT"); Debug.WriteLine(name + value + description); Debug.WriteLine(currentSubNode.Name); Debug.WriteLine(setting.Name + setting.Value + setting.Description); break; } } Debug.WriteLine(setting.ToString()); model.Settings.Add(setting); } } } }