| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Linq;using UnityEngine;using UnityEditor;using Object = UnityEngine.Object;public class DevicesTargetCreat : EditorWindow{    public Transform creatContent;    public Object jsonFile;    public Vector3 creatPos;            [MenuItem("Plugins/DevicesTargetCreat")]    static void Init()    {        DevicesTargetCreat DevicesTargetCreatTool = EditorWindow.CreateWindow<DevicesTargetCreat>();        DevicesTargetCreatTool.Show();    }    public void OnGUI()    {        creatContent = (Transform)EditorGUILayout.ObjectField("容器", creatContent, typeof(Transform), true);        creatPos=EditorGUILayout.Vector3Field("生成坐标", creatPos);        jsonFile = Selection.activeObject;        EditorGUILayout.LabelField("选中文件:");        EditorGUILayout.ObjectField(jsonFile, typeof(Object));        if (GUILayout.Button("生成参照物"))        {            if (jsonFile == null)            {                Debug.LogError("没选择Json!");                return;            }            string jsonStr = File.ReadAllText(AssetDatabase.GetAssetPath(jsonFile));            SensorListResult tempData = JsonUtility.FromJson<SensorListResult>(jsonStr);            foreach (var t in tempData.rows)            {                //手动过滤下 套口 补元                if (t.stationName.Equals("套口")||!t.sensorType.Equals("温度"))                {                    continue;                }                GameObject creatObj = new GameObject();                creatObj.transform.SetParent(creatContent);                creatObj.transform.localPosition = creatPos;                string nameHead = "";                if (t.stationName.Equals("补元"))                {                    nameHead = "BY_";                }                else                {                    nameHead = "TK_";                }                creatObj.name = $"{nameHead}{t.sensorName}";                creatObj.tag = "DeviceIconTarget";            }        }    }}[Serializable]public class SensorListResult{    public int total;    public List<DevicesId_Data> rows;}[Serializable]public class DevicesId_Data{    public string sid;    public string stationName;//站点名称?    public string sensorName;    public string sensorType;//设备类型?    public string valueType1;//单位    public string valueType2;        public string dataSid;    public string dataGid;    public float realtimeValue1;    public string realtimeValue2;    public string dataUpdateTime;    public string groupId;    public string groupName;}
 |