using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Threading.Tasks; using Unity.VisualScripting; using UnityEngine; public class GameManager : MonoBehaviour { public static GameManager ins; public GameObject Player; public CameraManager CameraManager; List tools; [SerializeField] GameObject QianXing; [SerializeField] GameObject WanYon; [SerializeField] GameObject YanDianBi; char[] TempChar = new char[7] {'(','C','l','o','n','e',')' }; public string dataStr; [SerializeField] List Datas= new List(); [SerializeField] List GFGame;//光伏板物体 [SerializeField] SceneData SceneData;//暂时数据 [SerializeField] List Inverter; [SerializeField] Transform trans; [SerializeField] List DianLiuCube; public void Awake() { if (ins!=null) { Destroy(ins); return; } ins = this; //Debug.Log(trans.GetComponent()!=null?true:false); } // Start is called before the first frame update async void Start() { await initAsync(); for (int i = 0; i < SceneData.GFData; i++) { GFGame[i].gameObject.SetActive(true); } for (int i = 0; i < SceneData.inverterSum; i++) { Inverter[i].gameObject.SetActive(true); } } async Task initAsync() { try { Datas.Add(await HttpTool.GetJsonAsync($"http://111.229.30.246:10013/Handler/Taiqu.ashx?action=changjing&bianhao={dataStr}")); } catch (Exception ex) { Debug.LogError(ex.Message); } } private void Update() { if(Input.GetKeyDown(KeyCode.Q)) { ToolsShow(QianXing); } //if(Input.GetKeyDown(KeyCode.W)) //{ // ToolsShow(WanYon); //} if(Input.GetKeyDown(KeyCode.E)) { ToolsShow(YanDianBi); } } /// /// 工具生成方法 /// public void ToolsShow(GameObject tools) { GameObject temp = Instantiate(tools, Player.transform); temp.transform.localPosition = new Vector3(0.319f,-0.471f,0.87f); temp.transform.localRotation = Quaternion.Euler(new Vector3(90,180,0)); temp.AddComponent(); string name = Filter(temp.name,TempChar); Debug.Log(name); switch (name) { case "万用表": break; case "钳形电流表": ToolModelClick tool = temp.GetComponent(); ClampAmmeters clamp = temp.GetComponent(); //tool.onDown.AddListener(clamp.MouseDown); tool.onDrag.AddListener(() => { clamp.isok = true; }); tool.onExit.AddListener(() => { clamp.isok = false; }); break; case "": break; default: break; } } public string Filter(string str, char[] charsToRemove) { return String.Concat(str.Split(charsToRemove.ToArray())); } public Transform NameContrast(string name) { Transform trans = null; if (!string.IsNullOrEmpty(name)) { for (int i = 0; i < DianLiuCube.Count; i++) { if (DianLiuCube[i].name.Equals(name)) { trans = DianLiuCube[i]; } } } return trans; } } /// /// 后台读的数据 /// [Serializable] public class datas { public bool state; public string message; public data2s data; } [Serializable] public class data2s { public string isguangfu; public string jxfs; public string zhbl; }