1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using Sirenix.OdinInspector;
- using TMPro;
- using UnityEngine;
- public class DetectionPanel : MonoBehaviour
- {
- /// <summary>
- /// 露点数据
- /// </summary>
- [SerializeField]
- private TMP_Text m_DewPointData;
- [LabelText("露点波动范围")]
- [SerializeField]
- private Vector2 m_DewPointRadius;
-
- /// <summary>
- /// 湿度数据
- /// </summary>
- [SerializeField]
- private TMP_Text m_HumidnessData;
-
- [LabelText("湿度波动范围")]
- [SerializeField]
- private Vector2 m_HumidnessRadius;
- /// <summary>
- /// 温度数据
- /// </summary>
- [SerializeField]
- private TMP_Text m_TemperatureData;
-
- [LabelText("温度波动范围")]
- [SerializeField]
- private Vector2 m_TemperatureRadius;
- /// <summary>
- /// P20数据
- /// </summary>
- [SerializeField]
- private TMP_Text m_P20Data;
-
- [LabelText("温度波动范围")]
- [SerializeField]
- private Vector2 m_P20Radius;
-
- /// <summary>
- /// 水分流量数据
- /// </summary>
- [SerializeField]
- private TMP_Text m_HydrationData;
-
- [LabelText("水分流量波动范围")]
- [SerializeField]
- private Vector2 m_HydrationRadius;
- public Action<string, string,string> m_RandomAction;
-
- // Start is called before the first frame update
- void Start()
- {
- m_DewPointData.text = SetIntiData(int.Parse(m_DewPointRadius.x.ToString()), int.Parse(m_DewPointRadius.y.ToString()), true);
- m_HumidnessData.text = SetIntiData(int.Parse(m_HumidnessRadius.x.ToString()), int.Parse(m_HumidnessRadius.y.ToString()), true);
- m_TemperatureData.text = SetIntiData(int.Parse(m_TemperatureRadius.x.ToString()), int.Parse(m_TemperatureRadius.y.ToString()), true);
- m_HydrationData.text = SetIntiData(int.Parse(m_HydrationRadius.x.ToString()), int.Parse(m_HydrationRadius.y.ToString()), true);
- m_RandomAction?.Invoke(m_DewPointData.text, m_HumidnessData.text,m_TemperatureData.text);
- }
- /// <summary>
- /// 设置初始数据
- /// </summary>
- private string SetIntiData(int _min,int _max,bool _allowDecimals)
- {
- System.Random random = new System.Random();
-
- double randomValue;
- if (_allowDecimals)
- {
- // 生成范围在 minValue 到 maxValue 之间的随机浮点数(带一位小数)
- randomValue = Math.Round(random.NextDouble() * (_max - _min) + _min, 1);
- }
- else
- {
- // 生成范围在 minValue 到 maxValue 之间的随机整数
- randomValue = random.Next(_min, _max + 1);
- }
- return randomValue.ToString();
- }
- }
|