FM/Assets/Scripts/FUJIFILM/UI/Logic/HomeUI.cs

125 lines
3.5 KiB
C#
Raw Normal View History

using System;
2025-08-21 13:10:17 +08:00
using System.IO;
2025-08-20 11:14:21 +08:00
using UnityEngine.UI;
using TMPro;
using UnityEngine;
namespace HK.FUJIFILM
{
public class HomeUI : UIBase
{
[SerializeField] private Button btnStart;
2025-08-21 13:10:17 +08:00
[SerializeField] private Button btnSetting;
[SerializeField] private Toggle tog_Chin;
[SerializeField] private Toggle tog_Eng;
2025-08-20 11:14:21 +08:00
public override void OnInit()
{
base.OnInit();
#region AutoGen_Init
btnStart = GetValue<Button>("btnStart");
2025-08-21 13:10:17 +08:00
btnSetting = GetValue<Button>("btnSetting");
tog_Chin = GetValue<Toggle>("tog_Chin");
tog_Eng = GetValue<Toggle>("tog_Eng");
2025-08-20 11:14:21 +08:00
btnStart.onClick.AddListener(OnClickbtnStart);
2025-08-21 13:10:17 +08:00
btnSetting.onClick.AddListener(OnClickbtnSetting);
tog_Chin.onValueChanged.AddListener(ClickTogChin);
tog_Eng.onValueChanged.AddListener(ClickTogEng);
2025-08-20 11:14:21 +08:00
#endregion
LanguageManager.Instance.LanguageChange += LanguageChange;
}
private void LanguageChange(LanguageManager.LanguageType type)
{
switch (type)
{
case LanguageManager.LanguageType.English:
tog_Eng.isOn = true;
break;
case LanguageManager.LanguageType.Chinese:
tog_Chin.isOn = true;
break;
default:
throw new ArgumentOutOfRangeException(nameof(type), type, null);
}
2025-08-20 11:14:21 +08:00
}
#region AutoGen_Method
2025-08-21 13:10:17 +08:00
private void OnClickbtnSetting()
{
UIManager.Instance.ShowUI(nameof(SettingUI), this);
}
2025-08-20 11:14:21 +08:00
private void OnClickbtnStart()
{
2025-08-21 13:10:17 +08:00
string filePath = $"{Application.streamingAssetsPath}/OrderIDInit.txt";
var lines = File.ReadAllLines(filePath);
if (bool.TryParse(lines[0], out bool result))
{
if (result)
{
if (int.TryParse(lines[1], out int orderID))
{
PlayerPersistent.SetInt("OrderID", orderID);
}
lines[0] = "false";
File.WriteAllLines(filePath, lines);
}
}
var i = PlayerPersistent.GetInt("OrderID");
if (i == int.MinValue)
{
if (int.TryParse(lines[1], out int orderID))
{
PlayerPersistent.SetInt("OrderID", orderID);
}
}
UIManager.Instance.ShowUI(nameof(ProductUI), this);
2025-08-20 11:14:21 +08:00
}
private void ClickTogChin(bool arg0)
{
if (arg0)
{
LanguageManager.Instance.ChangeLanguageType(LanguageManager.LanguageType.Chinese);
}
}
private void ClickTogEng(bool arg0)
{
if (arg0)
{
LanguageManager.Instance.ChangeLanguageType(LanguageManager.LanguageType.English);
}
}
2025-08-20 11:14:21 +08:00
#endregion
public override void OnDispose()
{
base.OnDispose();
LanguageManager.Instance.LanguageChange -= LanguageChange;
2025-08-20 11:14:21 +08:00
#region AutoGen_Dispose
btnStart.onClick.RemoveListener(OnClickbtnStart);
tog_Chin.onValueChanged.RemoveListener(ClickTogChin);
tog_Eng.onValueChanged.RemoveListener(ClickTogEng);
2025-08-20 11:14:21 +08:00
btnStart = null;
tog_Chin = null;
tog_Eng = null;
2025-08-20 11:14:21 +08:00
#endregion
}
}
}