You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
5.2 KiB
163 lines
5.2 KiB
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
using System.IO; |
|
using System.Text; |
|
|
|
public class ButtonPanel : MonoBehaviour |
|
{ |
|
public GameObject SettingPanel; |
|
public Button RestoreDefaults; |
|
public Button SaveAndClose; |
|
public Text Showtext; |
|
|
|
public Slider BGMSlider; |
|
public Slider SESlider; |
|
public Toggle MuteToggle; |
|
public Transform FramePanel; |
|
public Transform ShowPanel; |
|
private System_Setting sys = new System_Setting(); |
|
string path; |
|
// Use this for initialization |
|
|
|
void Start() |
|
{ |
|
path = Application.dataPath + "/System.json"; |
|
RestoreDefaults.onClick.AddListener(ResetClick); |
|
SaveAndClose.onClick.AddListener(SaveClick); |
|
MuteToggle.onValueChanged.AddListener(MuteChange); |
|
setValue(); |
|
} |
|
|
|
|
|
/// <summary> |
|
/// 静音按钮 |
|
/// </summary> |
|
/// <param name="arg0"></param> |
|
private void MuteChange(bool arg0) |
|
{ |
|
SESlider.interactable = !arg0; |
|
BGMSlider.interactable = !arg0; |
|
} |
|
|
|
/// <summary> |
|
/// 保存并退出 |
|
/// </summary> |
|
private void SaveClick() |
|
{ |
|
sys.resolutionX = ShowPanel.GetComponent<ShowPanel>().ResolutionX; |
|
sys.resolutionY = ShowPanel.GetComponent<ShowPanel>().ResolutionY; |
|
sys.isFullScreen = ShowPanel.GetComponent<ShowPanel>().IsFullScreen; |
|
sys.bgmValue = BGMSlider.value; |
|
sys.seValue = SESlider.value; |
|
sys.isMuto = MuteToggle.isOn; |
|
for (int i = 0; i < FramePanel.childCount; i++) |
|
{ |
|
if (FramePanel.GetChild(i).GetComponent<Toggle>().isOn) |
|
{ |
|
string str = FramePanel.GetChild(i).GetComponentInChildren<Text>().text; |
|
switch (str) |
|
{ |
|
case "中配置": |
|
if ("中配置" == str) |
|
{ |
|
sys.frameSelect = Frame.中配置; |
|
} |
|
break; |
|
case "高配置": |
|
if ("高配置" == str) |
|
{ |
|
sys.frameSelect = Frame.高配置; |
|
} |
|
break; |
|
case "低配置": |
|
if ("低配置" == str) |
|
{ |
|
sys.frameSelect = Frame.低配置; |
|
} |
|
break; |
|
case "完美画质": |
|
if ("完美画质" == str) |
|
{ |
|
sys.frameSelect = Frame.完美画质; |
|
} |
|
break; |
|
|
|
default: |
|
break; |
|
} |
|
} |
|
} |
|
//设置画质与分辨率 |
|
StartCoroutine(ClosePanel(sys)); |
|
//转为Json文件保存 |
|
|
|
//设置声音 |
|
SystemSettig.IsMute = MuteToggle.isOn; |
|
SystemSettig.BgmValue = BGMSlider.value; |
|
SystemSettig.SEValue = SESlider.value; |
|
SystemSettig.SoundSetFunction(); |
|
} |
|
/// <summary> |
|
/// 恢复默认设置 |
|
/// </summary> |
|
private void ResetClick() |
|
{ |
|
sys.resolutionX = SystemSettig.DefultResolutionX; |
|
sys.resolutionY = SystemSettig.DefultResolutionY; |
|
sys.isFullScreen = SystemSettig.DefulteIsFullScreen; |
|
sys.bgmValue = SystemSettig.DefultBgmValue; |
|
sys.seValue = SystemSettig.DefultSEValue; |
|
sys.isMuto = SystemSettig.DefultIsMute; |
|
sys.frameSelect = SystemSettig.DefultFrameSelect; |
|
StartCoroutine(ClosePanel(sys)); |
|
SystemSettig.DefultSoundSetFunction(); |
|
} |
|
IEnumerator ClosePanel(System_Setting sys) |
|
{ |
|
if (sys==null) |
|
{ |
|
sys = SystemSettig.instance.DefuletSetting(); |
|
} |
|
yield return new WaitForSeconds(0.5f); |
|
Showtext.gameObject.SetActive(true); |
|
SystemSettig.instance.SaveToJson(sys); |
|
Showtext.text = SystemSettig.Hinttext; |
|
yield return new WaitForSeconds(1f); |
|
Showtext.gameObject.SetActive(false); |
|
SystemSettig.ShowAndFrameSetfunction(sys); |
|
|
|
} |
|
void setValue() |
|
{ |
|
ShowPanel.Find("AllScreenToggle").GetComponent<Toggle>().isOn = SystemSettig.IsFullScreen; |
|
Dropdown dp = ShowPanel.Find("Dropdown").GetComponent<Dropdown>(); |
|
List<Dropdown.OptionData> all = dp.options; |
|
for (int i = 0; i < all.Count; i++) |
|
{ |
|
if (all[i].text == ((SystemSettig.ResolutionX).ToString() + "*" + (SystemSettig.ResolutionY).ToString())) |
|
{ |
|
dp.captionText.text = all[i].text; |
|
} |
|
} |
|
BGMSlider.value = SystemSettig.BgmValue; |
|
SESlider.value = SystemSettig.SEValue; |
|
MuteToggle.isOn = SystemSettig.IsMute; |
|
int select = (int)Enum.Parse(typeof(Frame), SystemSettig.FrameSelect.ToString()); |
|
for (int i = 0; i < FramePanel.childCount; i++) |
|
{ |
|
if (i == select) |
|
{ |
|
FramePanel.GetChild(i).GetComponent<Toggle>().isOn = true; |
|
} |
|
else |
|
{ |
|
FramePanel.GetChild(i).GetComponent<Toggle>().isOn = false; |
|
} |
|
} |
|
} |
|
|
|
|
|
}
|
|
|