using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; /* 设置界面 */ public class SetUpView : MonoBehaviour { [SerializeField] Image[] crossHairOptionChecks; void Start() { this.transform.Find("Items/BGM/Check").gameObject.SetActive(AudioMgr.openBGM); this.transform.Find("Items/Effect/Check").gameObject.SetActive(AudioMgr.openEffect); RenderSelectCrossHairOption(); RenderShootLevel(); RenderActualArrowWeight(); } public void CheckBox(GameObject checkBox) { checkBox.SetActive(!checkBox.activeSelf); if (checkBox.transform.parent.gameObject.name.StartsWith("Effect")) { AudioMgr.openEffect = checkBox.activeSelf; } else if (checkBox.transform.parent.gameObject.name.StartsWith("BGM")) { AudioMgr.openBGM = checkBox.activeSelf; } AudioMgr.ins.PlayBtn(); } public void SelectCrossHairOption(bool on) { AudioMgr.ins.PlayBtn(); LoginMgr.myUserInfo.openCrossHair = on; LoginMgr.myUserInfo.Save(); RenderSelectCrossHairOption(); } void RenderSelectCrossHairOption() { crossHairOptionChecks[0].enabled = LoginMgr.myUserInfo.openCrossHair; crossHairOptionChecks[1].enabled = !LoginMgr.myUserInfo.openCrossHair; } public void ChangeLanguage() { AudioMgr.ins.PlayBtn(); if (TextAutoLanguage.GetLanguage() == LanguageEnum.English) { TextAutoLanguage.ChangeLanguage(LanguageEnum.Chinese); } else if (TextAutoLanguage.GetLanguage() == LanguageEnum.Chinese) { TextAutoLanguage.ChangeLanguage(LanguageEnum.English); } } public void ChangeShootLevel() { AudioMgr.ins.PlayBtn(); int currentShootLevel = LoginMgr.myUserInfo.shootLevel; if (currentShootLevel < 2) { currentShootLevel++; } else { currentShootLevel = 0; } LoginMgr.myUserInfo.shootLevel = currentShootLevel; LoginMgr.myUserInfo.Save(); RenderShootLevel(); } void RenderShootLevel() { int currentShootLevel = LoginMgr.myUserInfo.shootLevel; int[] textID = {310, 311, 312}; this.transform.Find("Items/ShootLevel/Value").GetComponent().SetText(textID[currentShootLevel]); } public void ChangeActualArrowWeight() { AudioMgr.ins.PlayBtn(); float[] itemValues = {20f, 27f, 30.5f}; float actualArrowWeight = LoginMgr.myUserInfo.actualArrowWeight; if (actualArrowWeight == itemValues[itemValues.Length - 1]) { actualArrowWeight = itemValues[0]; } else { for (int i = 0; i < itemValues.Length; i++) { if (itemValues[i] == actualArrowWeight) { actualArrowWeight = itemValues[i + 1]; break; } } } LoginMgr.myUserInfo.actualArrowWeight = actualArrowWeight; LoginMgr.myUserInfo.Save(); RenderActualArrowWeight(); } void RenderActualArrowWeight() { TextAutoLanguage textAutoLanguage = this.transform.Find("Items/ActualArrowHeight/Value").GetComponent(); textAutoLanguage.textFormatArgs = new string[]{LoginMgr.myUserInfo.actualArrowWeight.ToString()}; textAutoLanguage.SetText(314); } public void Quit() { AudioMgr.ins.PlayBtn(); SceneManager.LoadScene("Login", LoadSceneMode.Single); } public void Back() { AudioMgr.ins.PlayBtn(); Destroy(this.gameObject); } }