12/20提交

This commit is contained in:
NieZhi 2024-12-20 19:44:46 +08:00
parent cc06ba794c
commit d15f39965e
11 changed files with 9467 additions and 37021 deletions

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@ public class ChemicalStorageController : MonoBehaviour,HttpController
void OnEnable()
{
firstLoad = true;
dataView = transform;
httpRequestHandler = gameObject.AddComponent<HttpRequestHandler>();

View File

@ -0,0 +1,69 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using XCharts.Runtime;
// 温湿度趋势图
public class HumitureTrend_Controller : MonoBehaviour
{
private LineChart lineChart;
private EMIMS_Data emimsData;
void OnEnable()
{
lineChart = gameObject.GetComponent<LineChart>();
emimsData = new EMIMS_Data();
List<EM_Data> list = new List<EM_Data>
{
new EM_Data {ID = "1", Name = "温度一天前", DataType = "float", Value = 14.5f},
new EM_Data {ID = "2", Name = "温度两天前", DataType = "float", Value = 26.2f},
new EM_Data {ID = "3", Name = "温度三天前", DataType = "float", Value = 18.7f},
new EM_Data {ID = "4", Name = "温度四天前", DataType = "float", Value = 22.1f},
new EM_Data {ID = "5", Name = "温度五天前", DataType = "float", Value = 16.9f},
new EM_Data {ID = "6", Name = "温度六天前", DataType = "float", Value = 20.3f},
new EM_Data {ID = "7", Name = "温度七天前", DataType = "float", Value = 19.8f},
new EM_Data {ID = "8", Name = "湿度一天前", DataType = "float", Value = 41.2f},
new EM_Data {ID = "9", Name = "湿度两天前", DataType = "float", Value = 54.5f},
new EM_Data {ID = "10", Name = "湿度三天前", DataType = "float", Value = 22.8f},
new EM_Data {ID = "11", Name = "湿度四天前", DataType = "float", Value = 43.1f},
new EM_Data {ID = "12", Name = "湿度五天前", DataType = "float", Value = 21.9f},
new EM_Data {ID = "13", Name = "湿度六天前", DataType = "float", Value = 42.3f},
new EM_Data {ID = "14", Name = "湿度七天前", DataType = "float", Value = 50.8f},
};
emimsData.Tags = list;
StartCoroutine(UpdateDataSource());
}
public IEnumerator UpdateDataSource()
{
while (true)
{
emimsData.Tags[Random.Range(0,7)].Value = Random.Range(10f,40f);
emimsData.Tags[Random.Range(7,14)].Value = Random.Range(30f,80f);
UpdateDataView();
yield return new WaitForSeconds(4f);
}
}
// 更新填充数据
private void UpdateDataView()
{
lineChart.ClearSerieData();
for (int i = 0; i < 7; i++)
{
lineChart.series[0].AddData(i, (float)emimsData.Tags[i].Value);
}
for (int i = 7; i < 14; i++)
{
lineChart.series[1].AddData(i, (float)emimsData.Tags[i].Value);
}
}
}

View File

@ -0,0 +1,48 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
// 电压压差监测
public class VoltageMonitor_Controller : MonoBehaviour
{
private Transform dataView; // 显示对象
private EMIMS_Data emimsData;
void OnEnable()
{
dataView = this.transform;
emimsData = new EMIMS_Data();
List<EM_Data> list = new List<EM_Data>
{
new EM_Data {ID = "1", Name = "压差", DataType = "float", Value = 1.5f},
new EM_Data {ID = "2", Name = "压差", DataType = "float", Value = 2.5f},
new EM_Data {ID = "3", Name = "压差", DataType = "float", Value = 3.5f},
new EM_Data {ID = "4", Name = "压差", DataType = "float", Value = 0.5f},
new EM_Data {ID = "5", Name = "压差", DataType = "float", Value = -2.5f},
new EM_Data {ID = "6", Name = "压差", DataType = "float", Value = 1.5f},
};
emimsData.Tags = list;
StartCoroutine(UpdateDataSource());
}
public IEnumerator UpdateDataSource()
{
while (true)
{
UpdateDataView();
yield return new WaitForSeconds(4f);
}
}
// 更新填充数据
private void UpdateDataView()
{
for (int i = 0; i < dataView.childCount; i++)
{
dataView.GetChild(i).GetChild(1).GetComponent<TextMeshProUGUI>().text =
emimsData.Tags[i].Value.ToString();
}
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
// 警报数据
public class AlarmData
{
[SerializeField] private string tagName; // 报警信息
[SerializeField] private string value; // 报警值
[SerializeField] private string createTime; // 报警时间
public string TagName
{
get => tagName;
set => tagName = value;
}
public string Value
{
get => value;
set => this.value = value;
}
public string CreateTime
{
get => createTime;
set => createTime = value;
}
// 重写 ToString 方法以及equals方法
public override string ToString()
{
return $"TagName: {TagName}, Value: {Value}, CreateTime: {CreateTime}";
}
public bool Equals(AlarmData other)
{
if (other == null)
{
return false;
}
return TagName == other.TagName && Value == other.Value && CreateTime == other.CreateTime;
}
}

View File

@ -7,7 +7,9 @@ using UnityEngine.Networking;
// http请求处理类
public class HttpRequestHandler : MonoBehaviour
{
public static string httpIp ="http://192.168.101.210:8080";
// "http://interface.nglab.cn";
// "http://192.168.101.210:8080";
public static string httpIp ="http://interface.nglab.cn";
// GET 请求
public IEnumerator GetRequest(string url, System.Action<string> onSuccess, System.Action<string> onError)

View File

@ -28,4 +28,15 @@ public class TextFormat
DateTime date = DateTime.Parse(dateTime);
return date.ToString("HH:mm");
}
public static string DateTimeFormat3(string dateTime)
{
DateTime date = DateTime.Parse(dateTime);
return date.ToString("HH:mm:ss");
}
public static string DateTimeFormat4(string dateTime)
{
DateTime date = DateTime.Parse(dateTime);
return date.ToString("yyyy年MM月dd日");
}
}

View File

@ -23,7 +23,8 @@ public class EllipticalMovement : MonoBehaviour
private int temp1 = -1;
private float timer = 0f;
void OnEnable()
private void Awake()
{
Resolution deviceResolution = Screen.currentResolution;
@ -33,9 +34,14 @@ public class EllipticalMovement : MonoBehaviour
orbitCenter.z *= xiShu;
semiMajorAxis *= xiShu;
semiMinorAxis *= xiShu;
}
void OnEnable()
{
// min*=xiShu;
// 启动协程来控制旋转
timer = 0f;
StartCoroutine(RotateAndPause());
}
@ -79,7 +85,7 @@ public class EllipticalMovement : MonoBehaviour
// 将图片的位置设置为相对 orbitCenter 的位置
images[i].position = new Vector3(x, y, 0f) + orbitCenter;
// print(images[i].position.y+" "+images[i].name);
/*if (images[i].localPosition.y<min&&i!=temp1)
if (images[i].localPosition.y < min && i != temp1)
{
if (timer < 1f)
{
@ -100,7 +106,7 @@ public class EllipticalMovement : MonoBehaviour
autoImage.CutImage();
}
yield return new WaitForSeconds(5f);
}*/
}
}

View File

@ -19,18 +19,30 @@ public class AutoMoveCamera : MonoBehaviour
// Start is called before the first frame update
void Start()
{
// StartCoroutine(autoMove());
StartCoroutine(autoMove());
}
private IEnumerator autoMove()
{
while (true)
{
if (runState == 1)
{
// 平滑移动
camera.transform.position = Vector3.Lerp(camera.transform.position, parentTarget.transform.GetChild(schedule).position, 0.05f );
// camera.transform.position = Vector3.Lerp(camera.transform.position, parentTarget.transform.GetChild(schedule).position, 0.01f );
// 目标位置
Vector3 targetPosition = parentTarget.transform.GetChild(schedule).position;
// 计算每帧的匀速移动
float speed = 5f; // 设定你希望摄像机的匀速速度(单位:每秒的移动距离)
camera.transform.position = Vector3.MoveTowards(camera.transform.position, targetPosition, speed * Time.deltaTime);
// 平滑旋转
camera.transform.rotation = Quaternion.Slerp(camera.transform.rotation, parentTarget.transform.GetChild(schedule).rotation, 0.1f);
// camera.transform.rotation = Quaternion.Slerp(camera.transform.rotation, parentTarget.transform.GetChild(schedule).rotation, 0.01f);
float rotationSpeed = 30f; // 旋转速度
camera.transform.rotation = Quaternion.RotateTowards(camera.transform.rotation, parentTarget.transform.GetChild(schedule).rotation, rotationSpeed * Time.deltaTime);
// 检查是否接近目标位置和旋转
if (Vector3.Distance(camera.transform.position, parentTarget.transform.GetChild(schedule).position) < 0.1f &&
@ -39,20 +51,29 @@ public class AutoMoveCamera : MonoBehaviour
camera.transform.position = parentTarget.transform.GetChild(schedule).position;
camera.transform.rotation = parentTarget.transform.GetChild(schedule).rotation;
schedule++;
yield return new WaitForSeconds(2f);
if (schedule==parentTarget.transform.childCount)
{
schedule = 0;
}
yield return new WaitForSeconds(2f); // 等待两秒
runState = 2;
foreach (GameObject showTarget in showTargets)
{
showTarget.SetActive(false);
}
}
// yield return new WaitForSeconds(2f); // 等待两秒
}
}
yield return null;
}
}
// Update is called once per frame
void Update()
{
if (runState == 1)
/*if (runState == 1)
{
// 平滑移动
// camera.transform.position = Vector3.Lerp(camera.transform.position, parentTarget.transform.GetChild(schedule).position, 0.01f );
@ -89,7 +110,7 @@ public class AutoMoveCamera : MonoBehaviour
}
}
}
}*/
}
}