using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; /// /// 设备-删除 /// public class DeleteDevice : MonoBehaviour { public Body mybody = new Body(); public Root URlreturn = new Root(); public IEnumerator SaveJsonCoroutine(Action callback = null) { yield return StartCoroutine(saveJson((w) => { if (w != null && URlreturn != null && URlreturn.message == "操作成功") { callback?.Invoke(true); StartCoroutine(Succeed((x) => { if (x) { refurbish(); } })); } else { SecondConfirmPanel.DeleteConform(null, "删除设备失败"); refurbish(); } })); } /// /// 刷新 /// public void refurbish() { Array.ForEach(GameManager.Inst.pop_ups.ToArray(), (itme) => { itme.gameObject.SetActive(false); }); //GameManager.Inst.objectToShow_add.gameObject.SetActive(true); var SN1 = GameManager.Inst.objectToShow_add.GetComponent(); SN1.hide_menu(); } public IEnumerator Succeed(Action callback) { Array.ForEach(GameObject.FindObjectsOfType(), (item) => { item.isOccupied = false; }); GameManager.Inst.isLoading = false; //TransparentGlowManage.Inst.addScript(); //yield return StartCoroutine(GameManager.Inst.init_Device()); //yield return StartCoroutine(GameManager.Inst.init_Port()); //yield return StartCoroutine(LineQuery.Inst.getJsonCoroutine()); //GameManager.Inst.LoadScene(); //callback.Invoke(true); yield return null; StartCoroutine(GameManager.Inst.Initialize((x) => { if (!string.IsNullOrEmpty(x)) callback.Invoke(true); })); } public IEnumerator saveJson(Action callback = null) { string newData = null; try { newData = JsonConvert.SerializeObject(mybody); } catch (Exception e) { callback.Invoke(null); yield break; } //var jsonResult = await CombineJSON.UpdateJson_POST(GameManager.Inst.Jk_URL.sb_sc, GameManager.Inst.token, newData); //URlreturn = JsonConvert.DeserializeObject(jsonResult); yield return StartCoroutine( CombineJSON.UpdateJson_POST(GameManager.Inst.Jk_URL.sb_sc, GameManager.Inst.arguments.token, newData, (jsonResult) => { try { URlreturn = JsonConvert.DeserializeObject(jsonResult); callback?.Invoke(URlreturn); } catch (System.Exception e) { callback.Invoke(null); Debug.Log("删除设备错误:" + e.Message); } }) ); } #region JSON [System.Serializable] public class Body { /// /// id /// public List ids; } [System.Serializable] public class Root { /// /// /// public string code; /// /// 反馈结果 /// public string message; /// /// 返回内容 /// public string data; /// /// /// public string serverTime; } #endregion }