113 lines
4.4 KiB
C#
113 lines
4.4 KiB
C#
|
|
using System.Collections;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
using Kill.Managers;
|
||
|
|
using Kill.Network;
|
||
|
|
using Kill.UI.Components;
|
||
|
|
using UnityEngine;
|
||
|
|
using UnityEngine.UI;
|
||
|
|
namespace Kill.UI.Pages
|
||
|
|
{
|
||
|
|
public class SelfPage : MonoBehaviour
|
||
|
|
{
|
||
|
|
public Button backButton;
|
||
|
|
public Button showQrCodeButton;
|
||
|
|
public Button showInfoButton;
|
||
|
|
public SelfInfoPage selfInfoPagePrefab;
|
||
|
|
public Button safetyTestButton;
|
||
|
|
public ChangeLanguagePage changeLanguagePagePrefab;
|
||
|
|
public Button languageSettingButton;
|
||
|
|
public Image avatarImage;
|
||
|
|
public Text nicknameText;
|
||
|
|
public Text emailText;
|
||
|
|
UserInfo userInfo;
|
||
|
|
public ShowImageText safeHighlightPagePrefab;
|
||
|
|
public ShowImageText statusPagePrefab;
|
||
|
|
async Task Start()
|
||
|
|
{
|
||
|
|
UIManager.Instance.RegisterBackAction(OnBack);
|
||
|
|
backButton.onClick.RemoveAllListeners();
|
||
|
|
backButton.onClick.AddListener(OnBack);
|
||
|
|
showQrCodeButton.onClick.RemoveAllListeners();
|
||
|
|
showQrCodeButton.onClick.AddListener(OnShowQrCode);
|
||
|
|
showInfoButton.onClick.RemoveAllListeners();
|
||
|
|
showInfoButton.onClick.AddListener(OnShowInfo);
|
||
|
|
safetyTestButton.onClick.RemoveAllListeners();
|
||
|
|
safetyTestButton.onClick.AddListener(OnSafetyTest);
|
||
|
|
languageSettingButton.onClick.RemoveAllListeners();
|
||
|
|
languageSettingButton.onClick.AddListener(OnChangeLanguage);
|
||
|
|
await RefreshAsync();
|
||
|
|
|
||
|
|
}
|
||
|
|
public void OnBack()
|
||
|
|
{
|
||
|
|
UIManager.Instance.OpenMainPage(UIManager.PageName.homePage);
|
||
|
|
}
|
||
|
|
public GameObject qrCodePanelPrefab;
|
||
|
|
public void OnShowQrCode()
|
||
|
|
{
|
||
|
|
GameObject qrCodePanel = Instantiate(qrCodePanelPrefab, transform);
|
||
|
|
qrCodePanel.GetComponent<SelfQrcodePage>().Init(userInfo);
|
||
|
|
}
|
||
|
|
public void OnShowInfo()
|
||
|
|
{
|
||
|
|
SelfInfoPage infoPage = Instantiate(selfInfoPagePrefab, transform);
|
||
|
|
infoPage.Init(userInfo);
|
||
|
|
}
|
||
|
|
public void OnSafetyTest()
|
||
|
|
{
|
||
|
|
UIManager.Instance.OpenPage(UIManager.PageName.safetylearningPage);
|
||
|
|
}
|
||
|
|
public void OnChangeLanguage()
|
||
|
|
{
|
||
|
|
ChangeLanguagePage languagePage = Instantiate(changeLanguagePagePrefab, transform);
|
||
|
|
}
|
||
|
|
public async Task RefreshAsync()
|
||
|
|
{
|
||
|
|
userInfo = DataManager.Instance.userInfo;
|
||
|
|
avatarImage.gameObject.SetActive(false);
|
||
|
|
nicknameText.text = userInfo.username;
|
||
|
|
emailText.text = userInfo.email;
|
||
|
|
if (string.IsNullOrEmpty(userInfo.avatar))
|
||
|
|
{
|
||
|
|
avatarImage.gameObject.SetActive(false);
|
||
|
|
avatarImage.transform.parent.GetComponent<Mask>().showMaskGraphic=true;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
await NetworkCtrl.Instance.LoadImageToUIImageAsync(userInfo.avatar, avatarImage);
|
||
|
|
avatarImage.gameObject.SetActive(true);
|
||
|
|
avatarImage.transform.parent.GetComponent<Mask>().showMaskGraphic=false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
public void EnterSafePage()
|
||
|
|
{
|
||
|
|
ShowImageText safePage=Instantiate(safeHighlightPagePrefab,transform);
|
||
|
|
safePage.gameObject.SetActive(true);
|
||
|
|
safePage.Init(()=>{UIManager.Instance.RegisterBackAction(OnBack);});
|
||
|
|
}
|
||
|
|
public void EnterStatusPage()
|
||
|
|
{
|
||
|
|
ShowImageText statusPage=Instantiate(statusPagePrefab,transform);
|
||
|
|
statusPage.gameObject.SetActive(true);
|
||
|
|
statusPage.Init(()=>{UIManager.Instance.RegisterBackAction(OnBack);});
|
||
|
|
}
|
||
|
|
public FAQPage fAQPagePrefab;
|
||
|
|
public void EnterFaqPage()
|
||
|
|
{
|
||
|
|
FAQPage fAQPage=Instantiate(fAQPagePrefab,transform);
|
||
|
|
fAQPage.gameObject.SetActive(true);
|
||
|
|
fAQPage.Init(()=>{UIManager.Instance.RegisterBackAction(OnBack);});
|
||
|
|
}
|
||
|
|
public DeviceTeachingPage[] deviceTeachingPagePrefabs;
|
||
|
|
public void EnterDeviceTeachingPage()
|
||
|
|
{
|
||
|
|
int type=(int)LanguageManager.Instance.languageType;
|
||
|
|
DeviceTeachingPage deviceTeachingPage=Instantiate(deviceTeachingPagePrefabs[type],transform);
|
||
|
|
deviceTeachingPage.gameObject.SetActive(true);
|
||
|
|
deviceTeachingPage.Init(()=>{UIManager.Instance.RegisterBackAction(OnBack);});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|