using System.Collections; using System.Collections.Generic; using Kill.Managers; using Kill.Network; using Kill.UI.Components; using UnityEngine; using UnityEngine.UI; namespace Kill.UI.Pages { public class SelfQrcodePage : MonoBehaviour { public Text usernameText; public Text emailText; public Text userIdText; public Button backButton; public QRCodeGenerator qrCodeGenerator; public Image avatarImage; public async void Init(UserInfo userInfo) { UIManager.Instance.RegisterBackAction(OnBack); backButton.onClick.RemoveAllListeners(); backButton.onClick.AddListener(OnBack); usernameText.text = userInfo.username; emailText.text = userInfo.email; userIdText.text = $"User ID: {userInfo.id}"; qrCodeGenerator.Generate(userInfo.id); if (string.IsNullOrEmpty(userInfo.avatar)) { avatarImage.gameObject.SetActive(false); avatarImage.transform.parent.GetComponent().showMaskGraphic=true; } else { await NetworkCtrl.Instance.LoadImageToUIImageAsync(userInfo.avatar, avatarImage); avatarImage.gameObject.SetActive(true); avatarImage.transform.parent.GetComponent().showMaskGraphic=false; } } public void OnBack() { UIManager.Instance.RegisterBackAction(GetComponentInParent().OnBack); Destroy(gameObject); } } }