public static void RefreshSettingHelpOverlay() { ButtonSetting helpOverlay = interfaceHeader.Find("HelpOverlayLabel").GetComponent <ButtonSetting>(); helpOverlay.RefreshData(); helpOverlay.RefreshText(); }
// Update is called once per frame void Update() { selnum = SelectNum.Select; //선택한 숫자를 가져옴 (선택지 미출현시 0으로 고정) if (selnum != 0) //선택한 숫자가 0이 아닌경우(선택지가 선택된 경우) { ScriptRefresh(txtname + "-" + selnum); //선택한 숫자에 대해 대사집을 불러와 새로 고침. selnum = 0; //중복선택되지 않도록 선택한 숫자를 다시 0으로 둠. } if (Input.GetKeyDown(KeyCode.Return)) //엔터키를 누른경우 { StopCoroutine("Printing"); //실행중이던 코루틴 중지 //au.Stop(); //실행되던 효과음 중지 if (cnt == scripts.Count - 1) //스크립트의 끝에 도달한경우 { Debug.Log(":" + cnt); Debug.Log(scripts.Count - 1); ButtonSetting.Create(prefabButton, new string[] { "아이템을 줍는다", "아이템을 줍지않는다" }); //버튼 생성. a++; } if (cnt == scripts.Count - 1 && a == 2) //스크립트의 끝에 도달한경우 { Debug.Log("여기서 삭제"); Destroy(asd); Destroy(zxc); GameObject.Find("data").GetComponent <Data> ().item303++; } else { cnt++; //다음 index를 읽기 위해 index 상승. Debug.Log(cnt); StartCoroutine("Printing"); //코루틴 재실행 } } }
public void Click() { Button btn = GetComponent <Button>(); //현재 객체를 가져온다. SelectNum.Select = Convert.ToInt32(Regex.Replace(btn.name, @"\D", "")); //객체의 이름에서 숫자만 남긴걸 int변환해 현재 선택된 선택지 번호로서 삼는다. ButtonSetting.Delete(); //현재 표시되있는 버튼 객체들을 모두 제거한다. }
/// <summary> /// 按鈕Json 建檔與讀取 /// </summary> /// <returns></returns> public static ButtonSetting InitialButtonLoad() { ButtonSetting setting = null; if (!Directory.Exists($"{MyWorkPath}\\stf")) { Directory.CreateDirectory($"{MyWorkPath}\\stf"); } string SettingPath = $"{MyWorkPath}\\stf\\button.json"; try { if (File.Exists(SettingPath)) { string json = File.ReadAllText(SettingPath, Encoding.UTF8); setting = JsonConvert.DeserializeObject <ButtonSetting>(json); } else { ButtonSetting Setting = new ButtonSetting() { //群組與列表按鈕設定 ButtonGroupSettings = { new ButtonGroupSetting() { // 0 = 群組,1 = 列表 ButtonStyle = 1, //群組名稱 GroupName = "群組名稱", // 群組標註 GroupTag = 0, //列表按鈕設定 ButtonItemSettings = { new ButtonItemSetting() { //列表名稱 ItemName = "列表名稱", //列表標註 ItemTag = 0, //控制畫面顯示 ControlVisible = true } } } } }; setting = Setting; string output = JsonConvert.SerializeObject(setting, Formatting.Indented, new JsonSerializerSettings()); File.WriteAllText(SettingPath, output); } } catch (Exception ex) { Log.Error(ex, "按鈕載入失敗"); } return(setting); }
// public PauseScreen thePauseScreen; // Use this for initialization void Start() { thePlayer = FindObjectOfType <PlayerController>(); theCamera = FindObjectOfType <CameraController>(); theLevelManager = FindObjectOfType <LevelManager>(); theButtonSetting = FindObjectOfType <ButtonSetting>(); // thePauseScreen = FindObjectOfType <PauseScreen>(); }
private void Button_MouseDown(object sender, MouseButtonEventArgs e) { var obj = sender as FrameworkElement; ButtonSetting buttonSetting = new ButtonSetting(obj); buttonSetting.ParentWindow = this; cc.Content = new Frame { Content = buttonSetting }; ccp.Visibility = Visibility; cc.Visibility = Visibility.Visible; //MessageBox.Show(obj.Name); }
public JoystickSettings() { axisSetting = new AxisSetting[axisLabels.Length]; buttonSetting = new ButtonSetting[buttonLabels.Length]; for (int i = 0; i < axisLabels.Length; i++) { axisSetting[i] = new AxisSetting(axisLabels[i]); } for (int i = 0; i < buttonLabels.Length; i++) { buttonSetting[i] = new ButtonSetting(buttonLabels[i]); } }
/// <summary> /// 按鈕建立 /// </summary> /// <param name="buttonSetting">按鈕設定檔</param> public void AccordionLoad(AccordionControl accordionControl1, ButtonSetting buttonSetting) { AccordionControl = accordionControl1; accordionControl1.Clear(); accordionControl1.AllowItemSelection = true; if (buttonSetting != null) { foreach (var item in buttonSetting.ButtonGroupSettings) { ButtonTypeEnum ButtonTypeEnum = (ButtonTypeEnum)item.ButtonStyle; switch (ButtonTypeEnum) { case ButtonTypeEnum.Group: // 群組 { // //列表 // AccordionControlElement[] ButtonItem = new AccordionControlElement[item.ButtonItemSettings.Count]; //建立列表 for (int i = 0; i < item.ButtonItemSettings.Count; i++) { ButtonItem[i] = new AccordionControlElement() { Style = ElementStyle.Item, //設定列表類型 Name = item.ButtonItemSettings[i].ItemName, // 設定顯示名稱 Tag = item.ButtonItemSettings[i], //自訂TAG Text = item.ButtonItemSettings[i].ItemName, //縮小名稱 }; AccordionControlElements.Add(ButtonItem[i]); } // // 群組 // AccordionControlElement Group = new AccordionControlElement(); //建立群組 Group.Expanded = false; //不顯示列表 Group.Name = item.GroupName; // 設定顯示名稱 Group.Text = item.GroupName; //縮小名稱 //Group.ImageOptions.Image= System.Drawing.Bitmap//加入ICON /*設定字體*/ Group.Appearance.Normal.FontStyleDelta = FontStyle.Bold; Group.Appearance.Normal.Name = "微軟正黑體"; Group.Appearance.Normal.FontSizeDelta = 10; Group.Appearance.Hovered.FontStyleDelta = FontStyle.Bold; Group.Appearance.Hovered.Name = "微軟正黑體"; Group.Appearance.Hovered.FontSizeDelta = 10; Group.Appearance.Pressed.FontStyleDelta = FontStyle.Bold; Group.Appearance.Pressed.Name = "微軟正黑體"; Group.Appearance.Pressed.FontSizeDelta = 10; Group.Elements.AddRange(ButtonItem); //將列表加入至群組 accordionControl1.Elements.Add(Group); //將群組加入至控制物件 // //列表 // for (int i = 0; i < item.ButtonItemSettings.Count; i++) { /*設定字體*/ ButtonItem[i].Appearance.Normal.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Normal.Name = "微軟正黑體"; ButtonItem[i].Appearance.Normal.FontSizeDelta = 8; ButtonItem[i].Appearance.Hovered.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Hovered.Name = "微軟正黑體"; ButtonItem[i].Appearance.Hovered.FontSizeDelta = 8; ButtonItem[i].Appearance.Pressed.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Pressed.Name = "微軟正黑體"; ButtonItem[i].Appearance.Pressed.FontSizeDelta = 8; } } break; case ButtonTypeEnum.Item: //列表 { AccordionControlElement ButtonItem = new AccordionControlElement() { Style = ElementStyle.Item, Name = item.ButtonItemSettings[0].ItemName, Tag = item.ButtonItemSettings[0], Text = item.ButtonItemSettings[0].ItemName, }; ButtonItem.Appearance.Normal.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Normal.Name = "微軟正黑體"; ButtonItem.Appearance.Normal.FontSizeDelta = 8; ButtonItem.Appearance.Hovered.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Hovered.Name = "微軟正黑體"; ButtonItem.Appearance.Hovered.FontSizeDelta = 8; ButtonItem.Appearance.Pressed.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Pressed.Name = "微軟正黑體"; ButtonItem.Appearance.Pressed.FontSizeDelta = 8; accordionControl1.Elements.Add(ButtonItem); AccordionControlElements.Add(ButtonItem); } break; } } accordionControl1.OptionsMinimizing.AllowMinimizeMode = DevExpress.Utils.DefaultBoolean.False; // 鎖定視窗 accordionControl1.ElementClick += new ElementClickEventHandler(this.accordionControl1_ElementClick); //按鈕事件 accordionControl1.SelectedElement = AccordionControlElements[0]; //觸發初始按鈕 } }
private void CompareReadSettingsWithModelAndFillValues() { //compare the settings read from the xml with the settings read from the model //copy everything from the model, but keep the value from the xml //this way editing the model (Displayname, Defaultvalue...) is applied, but the saved value from the settings in the xml remains the same ExtendedManagerSettings mergedSettings = new ExtendedManagerSettings(); var modelFields = _settings.GetType().GetFields(); foreach (FieldInfo modelField in modelFields) { //if the setting exists in the the xml file, overwrite the default value with the read value foreach (FieldInfo readField in _settingsReadFromXml.GetType().GetFields()) { //if the same fields have been found (one field read from the xml, the other coming from the model) if (modelField.Name == readField.Name) { if (modelField.Name == "SettingsCreatedVersion" || modelField.Name == "CurrentSettingsVersion") //settingsversion is a property but not a setting { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { string modelVersion = ((string)modelField.GetValue(_settings)); string readSettingsVersion = ((string)readField.GetValue(_settingsReadFromXml)); if (modelVersion != readSettingsVersion) { Debug.LogWarningFormat("Settings created with other version of the settingsmanager. It's advised that you remove the old SettingsCanvasPrefab from your scene and replace it with the new one. \nVersion went from '{0}' to '{1}' \n----------------------------", readSettingsVersion, modelVersion); } } continue; //skip to other iteration } //copy everything from the model, but keep the value from the xml if (modelField.FieldType.IsGenericType) //generic type: string, bool, vector2... { #if !UNITY_IOS if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { //setting is present in xml, apply the xml value to the field var type = modelField.FieldType.GetGenericArguments()[0]; var genericMergeSettingsMethod = GetType().GetMethod("MergeSettings", BindingFlags.Instance | BindingFlags.NonPublic).MakeGenericMethod(type); genericMergeSettingsMethod.Invoke(this, new object[] { mergedSettings, modelField, readField }); } else { //setting is not present in xml, apply the default value to the field var type = modelField.FieldType.GetGenericArguments()[0]; var genericApplyDefaultSettingsMethod = GetType().GetMethod("ApplyDefaultValueOnSetting", BindingFlags.Instance | BindingFlags.NonPublic).MakeGenericMethod(type); genericApplyDefaultSettingsMethod.Invoke(this, new object[] { mergedSettings, modelField }); } #else if (modelField.FieldType.GetGenericArguments()[0] == typeof(bool)) { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { MergeSettings_bool(mergedSettings, modelField, readField); } else { ApplyDefaultValueOnSetting_bool(mergedSettings, modelField); } } else if (modelField.FieldType.GetGenericArguments()[0] == typeof(string)) { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { MergeSettings_string(mergedSettings, modelField, readField); } else { ApplyDefaultValueOnSetting_string(mergedSettings, modelField); } } else if (modelField.FieldType.GetGenericArguments()[0] == typeof(float)) { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { MergeSettings_float(mergedSettings, modelField, readField); } else { ApplyDefaultValueOnSetting_float(mergedSettings, modelField); } } else if (modelField.FieldType.GetGenericArguments()[0] == typeof(Vector2)) { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { MergeSettings_vector2(mergedSettings, modelField, readField); } else { ApplyDefaultValueOnSetting_vector2(mergedSettings, modelField); } } else if (modelField.FieldType.GetGenericArguments()[0] == typeof(Vector3)) { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { MergeSettings_vector3(mergedSettings, modelField, readField); } else { ApplyDefaultValueOnSetting_vector3(mergedSettings, modelField); } } else { Debug.LogWarning(string.Format("Field of type '{0}' not yet implemented.", modelField.FieldType.Name)); } #endif } else //non generic type { if (IsSettingAlreadyPresentInXmlFile(modelField.Name)) { //setting is present in xml, apply the xml value to the field if (modelField.FieldType == typeof(MinMaxSetting)) { MinMaxSetting mergedSetting = ((MinMaxSetting)modelField.GetValue(_settings)); MinMaxSetting readSetting = ((MinMaxSetting)readField.GetValue(_settingsReadFromXml)); mergedSetting.Value = readSetting.Value; mergedSettings.GetType().GetField(modelField.Name).SetValue(mergedSettings, mergedSetting); } else if (modelField.FieldType == typeof(ButtonSetting)) { ButtonSetting mergedSetting = ((ButtonSetting)modelField.GetValue(_settings)); ButtonSetting readSetting = ((ButtonSetting)readField.GetValue(_settingsReadFromXml)); mergedSetting.Value = readSetting.Value; mergedSettings.GetType().GetField(modelField.Name).SetValue(mergedSettings, mergedSetting); } else { Debug.LogWarning(string.Format("Field of type '{0}' not yet implemented.", modelField.FieldType.Name)); } } else { if (modelField.FieldType == typeof(MinMaxSetting)) { //setting is not present in xml, apply the default value to the field MinMaxSetting mergedSetting = ((MinMaxSetting)modelField.GetValue(_settings)); mergedSetting.Value = mergedSetting.Defaultvalue; mergedSettings.GetType().GetField(modelField.Name).SetValue(mergedSettings, mergedSetting); } else if (modelField.FieldType == typeof(ButtonSetting)) { //setting is not present in xml, apply the default value to the field ButtonSetting mergedSetting = ((ButtonSetting)modelField.GetValue(_settings)); mergedSetting.Value = mergedSetting.Defaultvalue; mergedSettings.GetType().GetField(modelField.Name).SetValue(mergedSettings, mergedSetting); } else { Debug.LogWarning(string.Format("Field of type '{0}' not yet implemented.", modelField.FieldType.Name)); } } } } } } Settings = mergedSettings; //save the merged settings to the xml file Settings.SerializeToXmlFile(); }