网上演练贵港万达广场(人员密集)
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

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;
}
}
}
}