102 lines
3.2 KiB
C#
102 lines
3.2 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using TMPro;
|
|
using System;
|
|
|
|
namespace EnglewoodLAB.UI
|
|
{
|
|
public class UI_ProtocolSetting : MonoBehaviour
|
|
{
|
|
public Image Image_Connected;
|
|
public Image Image_UnConnected;
|
|
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 = FindFirstObjectByType<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 = FindFirstObjectByType<OptionManager>();
|
|
var option = optionManager.GetOption(mo);
|
|
|
|
foreach (var key in inputFields.Keys)
|
|
{
|
|
inputFields[key].text = option[key];
|
|
}
|
|
}
|
|
public void ResetInputFields(MonoBehaviour mo)
|
|
{
|
|
var optionManager = FindFirstObjectByType<OptionManager>();
|
|
|
|
foreach (var key in initOption.Keys)
|
|
{
|
|
inputFields[key].text = initOption[key];
|
|
}
|
|
optionManager.SetOptionValue(mo, initOption);
|
|
}
|
|
public void AcceptInputFields(MonoBehaviour mo)
|
|
{
|
|
var optionManager = FindFirstObjectByType<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_Connected.gameObject.SetActive(isActive);
|
|
Image_UnConnected.gameObject.SetActive(!isActive);
|
|
|
|
var color = protocol.isSuccess ? new Color(0, 245, 0) : new Color(245, 0, 0);
|
|
ErrorMessage.color = color;
|
|
ErrorMessage.text = protocol.errorMessage;
|
|
}
|
|
|
|
internal void ProtocolSuccessCheck(MQTT mqttManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
internal void InitInputFields(HTTPRequester httpManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
internal void ResetInputFields(HTTPRequester httpManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
internal void AcceptInputFields(HTTPRequester httpManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
internal void UnAcceptInputFields(HTTPRequester httpManager)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|
|
|