using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; /// /// 端口-删除 /// public class DeletePort : MonoBehaviour { public Body mybody; public Root URlreturn; private IEnumerator SaveJsonCoroutine() { yield return StartCoroutine(saveJson((y) => { if (!string.IsNullOrEmpty(y)) { if (URlreturn != null && URlreturn.message == "操作成功") { StartCoroutine(Succeed((x) => { if (x) { refurbish(); } })); } else { SecondConfirmPanel.DeleteConform(null, "删除端口失败"); refurbish(); } } else { SecondConfirmPanel.DeleteConform(null, "删除端口失败"); refurbish(); } })); } /// /// 刷新 /// public void refurbish() { Array.ForEach(GameManager.Inst.pop_ups.ToArray(), (itme) => { itme.gameObject.SetActive(false); }); } 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) { var newData = JsonConvert.SerializeObject(mybody); yield return StartCoroutine( CombineJSON.UpdateJson_POST(GameManager.Inst.Jk_URL.dk_sc, GameManager.Inst.arguments.token, newData, (jsonResult) => { try { URlreturn = JsonConvert.DeserializeObject(jsonResult); callback?.Invoke(jsonResult); } catch (System.Exception e) { Debug.Log("删除端口错误:" + e.Message); callback.Invoke(null); } }) ); } #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 }