using UnityEngine; namespace TPSBR.UI { public class MenuUI : SceneUI { // SceneUI INTERFACE protected override void OnInitializeInternal() { base.OnInitializeInternal(); Context.Input.RequestCursorVisibility(true, ECursorStateSource.Menu); OnWalletConnected(PlayerPrefs.GetString("WALLET_ADDRESS")); //if (Context.PlayerData.Nickname.HasValue() == false) //{ // var changeNicknameView = Open(); // changeNicknameView.SetData("ENTER NICKNAME", true); //} } protected override void OnDeinitializeInternal() { Context.Input.RequestCursorVisibility(false, ECursorStateSource.Menu); base.OnDeinitializeInternal(); } protected override void OnActivate() { base.OnActivate(); if (Global.Networking.ErrorStatus.HasValue() == true) { Open(); var errorDialog = Open(); errorDialog.Title.text = "Connection Issue"; if (Global.Networking.ErrorStatus == Networking.STATUS_SERVER_CLOSED) { errorDialog.Description.text = $"Server was closed."; } else { errorDialog.Description.text = $"Failed to start network game\n\nReason:\n{Global.Networking.ErrorStatus}"; } Global.Networking.ClearErrorStatus(); } } public async void OnWalletConnected(string wallet) // call this from your wallet SDK { try { // makes sure the row exists (display_name = "" on first create) string playername= await GameDb.GetPlayerNameAsync(wallet); if (playername == "") { var changeNicknameView = Open(); changeNicknameView.SetData("ENTER NICKNAME", true); } else { Context.PlayerData.Nickname = playername.ToString(); Debug.Log($"Player ensured for {wallet}"); } } catch (System.Exception e) { Debug.LogError(e); } } } }