Files
ChunilENG/Assets/WorkSpace/Personal/JYM/UI_ProtocolSetting.cs

78 lines
2.6 KiB
C#
Raw Normal View History

2025-02-20 09:59:37 +09:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using WI;
namespace CHN
{
public class UI_ProtocolSetting : MonoBehaviour
{
2025-04-16 15:34:14 +09:00
public Image Image_Connected;
public Image Image_UnConnected;
2025-02-20 09:59:37 +09:00
public TextMeshProUGUI ErrorMessage;
private Dictionary<string, TMP_InputField> inputFields = new();
private Dictionary<string, string> initOption = new();
private Dictionary<string, string> mappingOption = new();
public void InitInputFields(MonoBehaviour mo)
{
var optionManager = FindSingle<OptionManager>();
var option = optionManager.GetOption(mo);
var optionInputFields = transform.GetComponentsInChildren<TMP_InputField>();
foreach (var mqttInputField in optionInputFields)
{
inputFields.Add(mqttInputField.name, mqttInputField);
initOption.Add(mqttInputField.name, option[mqttInputField.name]);
mqttInputField.text = option[mqttInputField.name];
}
}
public void UnAcceptInputFields(MonoBehaviour mo)
{
var optionManager = FindSingle<OptionManager>();
var option = optionManager.GetOption(mo);
foreach (var key in inputFields.Keys)
{
inputFields[key].text = option[key];
}
}
public void ResetInputFields(MonoBehaviour mo)
{
var optionManager = FindSingle<OptionManager>();
foreach (var key in initOption.Keys)
{
inputFields[key].text = initOption[key];
}
optionManager.SetOptionValue(mo, initOption);
}
public void AcceptInputFields(MonoBehaviour mo)
{
var optionManager = FindSingle<OptionManager>();
mappingOption.Clear();
foreach (var mqttInputField in inputFields.Values)
{
mappingOption.Add(mqttInputField.name, mqttInputField.text);
}
optionManager.SetOptionValue(mo, mappingOption);
}
public void ProtocolSuccessCheck(Protocol protocol)
{
2025-04-07 13:37:31 +09:00
var isActive = protocol.isSuccess;
2025-04-16 15:34:14 +09:00
Image_Connected.gameObject.SetActive(isActive);
Image_UnConnected.gameObject.SetActive(!isActive);
2025-04-07 13:37:31 +09:00
var color = protocol.isSuccess ? new Color(0, 245, 0) : new Color(245, 0, 0);
ErrorMessage.color = color;
2025-02-20 09:59:37 +09:00
ErrorMessage.text = protocol.errorMessage;
}
}
}