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.
164 lines
5.2 KiB
164 lines
5.2 KiB
4 years ago
|
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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|