76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
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)
|
|
{
|
|
var isActive = protocol.isSuccess;
|
|
Image_State.gameObject.SetActive(isActive);
|
|
|
|
var color = protocol.isSuccess ? new Color(0, 245, 0) : new Color(245, 0, 0);
|
|
ErrorMessage.color = color;
|
|
ErrorMessage.text = protocol.errorMessage;
|
|
}
|
|
}
|
|
}
|
|
|