ISAP/Assets/Scripts/UI/MainUI.cs

89 lines
2.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Net.Sockets;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class MainUI : UIBase
{
public Button quitBtn;
public Transform peopleContent;
List<UIPeopleInfoItem> peopleList;
Dictionary<int, List<bool>> isOver;
private void Awake()
{
EventCenter.Instance.Init();
UIManager.Instance.Init();
NetMain.Instance.conn();
peopleList = new List<UIPeopleInfoItem>();
isOver = new Dictionary<int, List<bool>>();
quitBtn.onClick.AddListener(() =>
{
Application.Quit();
});
EventCenter.dispatcher.AddListener(MsgType.OnGetPeopleInfo, ShowPeopleInfo);
}
private void ShowPeopleInfo(Message message)
{
var peoples = DataManager.Instance.peoples;//Õï¶Ï½øÕ¹ÐÅÏ¢
GameObject Prefab = (GameObject)Resources.Load("UIPrefabs/PeopleInfo");
for (int i = 0; i < peoples.Count; i++)
{
UIPeopleInfoItem item = Instantiate(Prefab, peopleContent).GetComponent<UIPeopleInfoItem>();
peopleList.Add(item);
item.Init(peoples[i]);
}
}
private void Start()
{
GetPeopleInfo();
}
private void Update()
{
}
private void OnDestroy()
{
EventCenter.dispatcher.RemoveListener(MsgType.OnGetPeopleInfo, ShowPeopleInfo);
}
public void GetPeopleInfo()
{
string url = "http://122.112.171.137:85/api/cases/base/list";
StartCoroutine(Get(url));
}
IEnumerator Get(string url)
{
UnityWebRequest request = UnityWebRequest.Get(url);
yield return request.SendWebRequest();
if (request.isHttpError || request.isNetworkError)
{
Debug.LogError(request.error);
}
else
{
string receiveContent = request.downloadHandler.text;
byte[] datas = Encoding.UTF8.GetBytes(receiveContent);
receiveContent = Encoding.UTF8.GetString(datas, 0, datas.Length);
//JsonInfo jsonInfo = JsonMapper.ToObject<JsonInfo>(receiveContent);
DataParse.Instance.ParsePeople(receiveContent);
}
}
}