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(UserSettings.ins.openBGM); this.transform.Find("Items/Effect/Check").gameObject.SetActive(UserSettings.ins.openEffect); RenderSelectCrossHairOption(); RenderShootLevel(); RenderActualArrowWeight(); } public void CheckBox(GameObject checkBox) { checkBox.SetActive(!checkBox.activeSelf); if (checkBox.transform.parent.gameObject.name.StartsWith("BGM")) { UserSettings.ins.openBGM = checkBox.activeSelf; UserSettings.ins.Save(); } else if (checkBox.transform.parent.gameObject.name.StartsWith("Effect")) { UserSettings.ins.openEffect = checkBox.activeSelf; UserSettings.ins.Save(); } AudioMgr.ins.PlayBtn(); } public void SelectCrossHairOption(bool on) { AudioMgr.ins.PlayBtn(); UserSettings.ins.openCrossHair = on; UserSettings.ins.Save(); RenderSelectCrossHairOption(); } void RenderSelectCrossHairOption() { crossHairOptionChecks[0].enabled = UserSettings.ins.openCrossHair; crossHairOptionChecks[1].enabled = !UserSettings.ins.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 = UserSettings.ins.shootLevel; if (currentShootLevel < 2) { currentShootLevel++; } else { currentShootLevel = 0; } UserSettings.ins.shootLevel = currentShootLevel; UserSettings.ins.Save(); RenderShootLevel(); } void RenderShootLevel() { int currentShootLevel = UserSettings.ins.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 = UserSettings.ins.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; } } } UserSettings.ins.actualArrowWeight = actualArrowWeight; UserSettings.ins.Save(); RenderActualArrowWeight(); } void RenderActualArrowWeight() { TextAutoLanguage textAutoLanguage = this.transform.Find("Items/ActualArrowHeight/Value").GetComponent(); textAutoLanguage.textFormatArgs = new string[]{UserSettings.ins.actualArrowWeight.ToString()}; textAutoLanguage.SetText(314); } public void Back() { AudioMgr.ins.PlayBtn(); Destroy(this.gameObject); } }