ISAP/Assets/Scripts/UI/MainUI.cs

116 lines
3.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;
private void Awake()
{
EventCenter.Instance.Init();
UIManager.Instance.Init();
NetMain.Instance.conn();
peopleList = new List<UIPeopleInfoItem>();
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()
{
if (Input.GetKeyDown(KeyCode.Q))
{
UIBase ui = UIManager.Instance.OpenUI(UIType.UIFile);
UIFile file = (UIFile)ui;
file.Init(FileType.URL);
}
if (Input.GetKeyDown(KeyCode.W))
{
UIBase ui = UIManager.Instance.OpenUI(UIType.UIFile);
UIFile file = (UIFile)ui;
file.Init(FileType.text);
}
if (Input.GetKeyDown(KeyCode.E))
{
UIBase ui = UIManager.Instance.OpenUI(UIType.UIFile);
UIFile file = (UIFile)ui;
file.Init(FileType.music);
}
if (Input.GetKeyDown(KeyCode.R))
{
UIBase ui = UIManager.Instance.OpenUI(UIType.UIFile);
UIFile file = (UIFile)ui;
file.Init(FileType.video);
}
if (Input.GetKeyDown(KeyCode.T))
{
UIBase ui = UIManager.Instance.OpenUI(UIType.UIFile);
UIFile file = (UIFile)ui;
file.Init(FileType.image, "https://s-sh-7897-jiayi-test.oss.dogecdn.com/physique/05329a95469146ca85c01cea53babc8a-girl.png");
}
}
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);
}
}
}