/
GeekNerd
/
ServerModelingProject
Обзор
Документация
Войти
/
GeekNerd
/
ServerModelingProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/UI_Logic/MainMenuPart/InputFields/SettingDataInputFields/GeneratorsDataView.cs
123 строки
4 KB
Gorney-Alex
Init
30 май 2026, 19:05
30 май 2026, 19:05
3cdcc49
Код
Авторство
О чём код?
using System; using DataClasses; using UI_Logic.InputFields; using UnityEngine; namespace UI_Logic.SettingDataViews { public class GeneratorsDataView : MonoBehaviour { [SerializeField] private TempGenInputFieldFloatView[] _temperatureFields; [SerializeField] private HumGenInputFieldFloatView[] _humidityFields; [SerializeField] private DustGenInputFieldFloatView[] _dustFields; public event Action<bool> OpenStateChanged; private void Awake() { if (_temperatureFields == null || _temperatureFields.Length == 0) { _temperatureFields = GetComponentsInChildren<TempGenInputFieldFloatView>(true); } if (_humidityFields == null || _humidityFields.Length == 0) { _humidityFields = GetComponentsInChildren<HumGenInputFieldFloatView>(true); } if (_dustFields == null || _dustFields.Length == 0) { _dustFields = GetComponentsInChildren<DustGenInputFieldFloatView>(true); } } private void OnEnable() { if (_temperatureFields == null || _temperatureFields.Length == 0) { _temperatureFields = GetComponentsInChildren<TempGenInputFieldFloatView>(true); } if (_humidityFields == null || _humidityFields.Length == 0) { _humidityFields = GetComponentsInChildren<HumGenInputFieldFloatView>(true); } if (_dustFields == null || _dustFields.Length == 0) { _dustFields = GetComponentsInChildren<DustGenInputFieldFloatView>(true); } OpenStateChanged?.Invoke(true); } private void OnDisable() { OpenStateChanged?.Invoke(false); } public GeneratorsData GetData() { var data = new GeneratorsData(); foreach (var field in _temperatureFields) { switch (field.GetTypeData()) { case TemperatureGeneratorDataType.Name: data.TemperatureName = field.GetValue(); break; case TemperatureGeneratorDataType.Path: data.TemperaturePath = field.GetValue(); break; } } foreach (var field in _humidityFields) { switch (field.GetTypeData()) { case HumidityGeneratorDataType.Name: data.HumidityName = field.GetValue(); break; case HumidityGeneratorDataType.Path: data.HumidityPath = field.GetValue(); break; } } foreach (var field in _dustFields) { switch (field.GetTypeData()) { case DustGeneratorDataType.Name: data.DustName = field.GetValue(); break; case DustGeneratorDataType.Path: data.DustPath = field.GetValue(); break; } } return data; } public void ShowData(GeneratorsData data) { foreach (var field in _temperatureFields) { switch (field.GetTypeData()) { case TemperatureGeneratorDataType.Name: field.SetValue(data.TemperatureName); break; case TemperatureGeneratorDataType.Path: field.SetValue(data.TemperaturePath); break; } } foreach (var field in _humidityFields) { switch (field.GetTypeData()) { case HumidityGeneratorDataType.Name: field.SetValue(data.HumidityName); break; case HumidityGeneratorDataType.Path: field.SetValue(data.HumidityPath); break; } } foreach (var field in _dustFields) { switch (field.GetTypeData()) { case DustGeneratorDataType.Name: field.SetValue(data.DustName); break; case DustGeneratorDataType.Path: field.SetValue(data.DustPath); break; } } } } }