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 inputFields = new(); private Dictionary initOption = new(); private Dictionary mappingOption = new(); public void InitInputFields(MonoBehaviour mo) { var optionManager = FindSingle(); var option = optionManager.GetOption(mo); var optionInputFields = transform.GetComponentsInChildren(); 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(); var option = optionManager.GetOption(mo); foreach (var key in inputFields.Keys) { inputFields[key].text = option[key]; } } public void ResetInputFields(MonoBehaviour mo) { var optionManager = FindSingle(); foreach (var key in initOption.Keys) { inputFields[key].text = initOption[key]; } optionManager.SetOptionValue(mo, initOption); } public void AcceptInputFields(MonoBehaviour mo) { var optionManager = FindSingle(); 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); ErrorMessage.text = protocol.errorMessage; } } }