using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.Linq; using DataModel.Model; using System; using LitJson; public class RoomListPanel : MonoBehaviour { public GridLayoutGroup connect; [HideInInspector] public GameObject itemPrefb; public Button refreshBtn; public Button createBtn; public Canvas canvas; public Text DateTimeText; public Button SettingBtn; public Button QuitBtn; public Text UserNameText; public SystrmSettingPanel systrmSettingPanel; [HideInInspector] public GameObject CreateRoomPrefb; [HideInInspector] public GameObject CheckPanelPrefb; public static RoomListPanel instance; private void Awake() { instance = this; if (itemPrefb==null) { itemPrefb = Resources.Load("UI/Item/roomItem"); } if(CheckPanelPrefb==null) { CheckPanelPrefb = Resources.Load("UI/CheckPanel"); } refreshBtn.onClick.AddListener(() => { //刷新 Refresh(); }); createBtn.onClick.AddListener(() => { //创建 if (CreateRoomPrefb == null) { CreateRoomPrefb = Resources.Load("UI/CreateRoomPanel"); } GameObject obj = Instantiate(CreateRoomPrefb, canvas.transform); }); QuitBtn.onClick.AddListener(() => { LoadManage.Instance.me = null; if (LoadManage.Instance.systemMode == SystemMode.PC) { UnityEngine.SceneManagement.SceneManager.LoadScene("LoginSencePC"); } else if(LoadManage.Instance.systemMode== SystemMode.MR) { UnityEngine.SceneManagement.SceneManager.LoadScene("LoginSenceMR"); } }); SettingBtn.onClick.AddListener(() => { //显示配置界面 systrmSettingPanel.gameObject.SetActive(true); }); systrmSettingPanel.Init(); } private void Start() { if (LoadManage.Instance != null) { UserNameText.text = LoadManage.Instance.me.user.nickName; } //刷新 Refresh(); } private void FixedUpdate() { //刷新按钮旋转 if(refreshBtn.interactable==false) { refreshBtn.transform.Rotate(Vector3.forward, 5, Space.Self); } DateTimeText.text = DateTime.Now.ToLongDateString()+" "+ DateTime.Now.ToLongTimeString(); } /// /// 刷新 /// public void Refresh() { refreshBtn.interactable = false; Invoke("ResetBtn", 3); connect.transform.GetComponentsInChildren(true).ToList().ForEach(a=> { DestroyImmediate(a.gameObject); }); StartCoroutine(MyNetMQClient.CallGet("http://"+MyNetMQClient.CallIP+"/Handler/Practice.ashx?action=query&state=0,1", result=> { var json = JsonMapper.ToObject>(result); var data=JsonMapper.ToObject(result)["data"]; if(data!=null) { data.ValueAsArray().ToList().ForEach(a => { json.data.Find(b => b.Id == a["Id"].ToString()).CreateTime = DateTime.Parse(a["CreateTime"].ToString()); }); } if (json.state) { var list = json.data.OrderByDescending(a=>a.CreateTime).ToList(); list.ToList().ForEach(a=> { //创建 GameObject item = Instantiate(itemPrefb,connect.transform); item.GetComponent().Init(a); }); } else { string msg = json.message; Debug.LogError(msg); MessagePanel.ShowMessage(msg, canvas.transform); } })); } public void ResetBtn() { if (refreshBtn != null) { refreshBtn.interactable = true; } } }