ShanxiKnowledgeBase/SXElectricalInspection/Assets/Adam/Scripts/ShowNameplate.cs

70 lines
2.5 KiB
C#

using Adam;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class ShowNameplate : MonoBehaviour
{
private string myName;
private float multiple;
public UnityEvent onDown = new UnityEvent();
private void Start()
{
myName = gameObject.name;
multiple = 1.0f;
}
private void OnMouseDown()
{
if (EventSystem.current.IsPointerOverGameObject())
{
return;
}
NameplateController.Instance.RefreshShown();
if (!NameplateController.Instance.DictextMeshPro.ContainsKey(myName))
{
return;
}
Sprite sprite = Resources.Load<Sprite>("Texture/" + myName);
NameplateController.Instance.NameplateImage.overrideSprite = sprite;
NameplateController.Instance.NameplateImage.SetNativeSize();
switch (myName)
{
case "低压互感器铭牌":
multiple = 1.0f;
//NameplateController.Instance.DictextMeshPro["低压互感器铭牌"].text = GlobalFlag.pvw.ToString();
break;
case "2号逆变器_铭牌_正确":
multiple = 3.0f;
if (GlobalFlag.userState == "正常")
NameplateController.Instance.DictextMeshPro["2号逆变器_铭牌_正确"].text = GlobalFlag.runRL.ToString();
else
NameplateController.Instance.DictextMeshPro["2号逆变器_铭牌_正确"].text = GlobalFlag.dcw.ToString();
break;
case "光伏板_铭牌":
multiple = 1.5f;
if (GlobalFlag.userState == "正常")
NameplateController.Instance.DictextMeshPro["光伏板_铭牌"].text = "600";
else
NameplateController.Instance.DictextMeshPro["光伏板_铭牌"].text = GlobalFlag.pvw.ToString();
break;
}
Vector2 bg = NameplateController.Instance.NameplateImage.rectTransform.sizeDelta;
NameplateController.Instance.backTransform.sizeDelta = bg / multiple + new Vector2(40, 40);
NameplateController.Instance.NameplateImage.rectTransform.sizeDelta = bg / multiple;
NameplateController.Instance.mtTransform.sizeDelta = new Vector2(NameplateController.Instance.backTransform.sizeDelta.x, 100f);
NameplateController.Instance.DictextMeshPro[myName].gameObject.SetActive(true);
NameplateController.Instance.NameplatePanel.SetActive(true);
onDown?.Invoke();
}
}