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

72 lines
2.3 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
{
public Image Image_State;
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)
{
Image_State.color = protocol.isSuccess ? Color.green : Color.red;
ErrorMessage.text = protocol.errorMessage;
}
}
}