update test logout

This commit is contained in:
VuNgocHaiC7
2026-05-04 17:42:57 +07:00
parent 0f26fd7578
commit 3eadd532cc
5 changed files with 66 additions and 24 deletions
+2 -2
View File
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f809da92f7a74929fe4911b38ecddcf5bfe0fa9f667ad04f6c927511246975ae
size 308267
oid sha256:fdca6f6915cfc055b350581a53fbc4d2e19ab522da9eb954295d71d45d8aed58
size 303299
@@ -110,29 +110,42 @@ namespace BrewMonster.Scripts
public void ClearModels()
{
for (int i = 0; i < playerModels.Count; i++)
{
if (playerModels[i] != null)
Destroy(playerModels[i]);
}
playerModels.Clear();
playerModelIds.Clear();
if (modelRoot != null)
{
foreach (Transform child in modelRoot)
{
Destroy(child.gameObject);
}
}
}
private void ClearModelsImmediate()
{
for (int i = 0; i < playerModels.Count; i++)
{
if (playerModels[i] != null)
{
if (Application.isPlaying)
Destroy(playerModels[i]);
else
DestroyImmediate(playerModels[i]);
}
}
playerModels.Clear();
playerModelIds.Clear();
if(modelRoot != null)
{
var children = new Transform[modelRoot.childCount];
for (int i = 0; i < modelRoot.childCount; i++)
{
children[i] = modelRoot.GetChild(i);
}
foreach (Transform child in children)
{
if(child != null)
{
if(Application.isPlaying)
Destroy(child.gameObject);
else
DestroyImmediate(child.gameObject);
}
}
}
}
private async UniTask<GameObject> LoadPlayerModel(RoleInfo role)
@@ -102,7 +102,7 @@ namespace BrewMonster.UI
{
if (_roleInfos != null)
{
_selectCharacterScreen.InitScreen(_roleInfos, OnClickSelectCharacter, OnCreateCharacterComplete);
_selectCharacterScreen.InitScreen(_roleInfos, OnClickSelectCharacter, OnCreateCharacterComplete, OnExitCharacterSelect);
_roleInfos = null;
}
@@ -422,6 +422,21 @@ namespace BrewMonster.UI
{
BMLogger.LogError($"Logout failed -- errorCode: {errorCode}: {errorMessage}");
}
_loginInProgress = false;
if (_loginButton != null)
_loginButton.interactable = true;
}
private void OnExitCharacterSelect()
{
BMLogger.Log("Exiting character select, returning to login screen.");
if(_selectCharacterScreen != null)
_selectCharacterScreen.gameObject.SetActive(false);
_loginInProgress = false;
if(_loginButton != null)
_loginButton.interactable = true;
}
}
}
+1 -1
View File
@@ -989,8 +989,8 @@ MonoBehaviour:
parentItems: {fileID: 2643174602035272289}
createCharacterButton: {fileID: 2685968509838782728}
_btnEnterGame: {fileID: 5173447691193350084}
_btnExit: {fileID: 1166159884785039946}
createCharacterScreen: {fileID: 0}
playerModelPreview: {fileID: 0}
--- !u!1 &7510180475820570348
GameObject:
m_ObjectHideFlags: 0
+19 -5
View File
@@ -18,11 +18,13 @@ namespace BrewMonster.UI
[SerializeField] private RectTransform parentItems;
[SerializeField] private Button createCharacterButton;
[SerializeField] private Button _btnEnterGame;
[SerializeField] private Button _btnExit;
[SerializeField] private CreateCharacterScreen createCharacterScreen;
private CharacterItemUI _selectingCharacterItemUI;
private Action<RoleInfo> _onClickItemChar;
private Action<RoleInfo> _onCreateCharacterComplete;
private Action _onExit;
private List<RoleInfo> _roleInfos;
private Coroutine _showModelReadyCoroutine;
@@ -33,6 +35,11 @@ namespace BrewMonster.UI
_btnEnterGame.onClick.AddListener(OnClickedEnterGame);
_btnEnterGame.gameObject.SetActive(false);
if(_btnExit != null)
{
_btnExit.onClick.AddListener(OnClickedExit);
}
if (_roleInfos != null && _roleInfos.Count > 0)
{
PlayerModelPreview.Instance?.ShowAllPlayerModels(_roleInfos);
@@ -57,10 +64,11 @@ namespace BrewMonster.UI
}
}
public void InitScreen(List<RoleInfo> roleInfos, Action<RoleInfo> OnClickItemChar, Action<RoleInfo> onCreateCharacterComplete = null)
public void InitScreen(List<RoleInfo> roleInfos, Action<RoleInfo> OnClickItemChar, Action<RoleInfo> onCreateCharacterComplete = null, Action onExit = null)
{
_onClickItemChar = OnClickItemChar;
_onCreateCharacterComplete = onCreateCharacterComplete;
_onExit = onExit;
// Clear existing items
if (parentItems != null)
@@ -110,7 +118,7 @@ namespace BrewMonster.UI
addButton.onClick.AddListener(OnCreateCharacterClicked);
}
}
}
else
{
@@ -120,13 +128,13 @@ namespace BrewMonster.UI
createCharacterButton.gameObject.SetActive(true);
}
}
// Load player preview 3D models
PlayerModelPreview.Instance?.ShowAllPlayerModels(roleInfos);
}
else
{
if (PlayerModelPreview.Instance != null)
if (PlayerModelPreview.Instance != null)
PlayerModelPreview.Instance.ShowAllPlayerModels(null);
// If roleInfos is null, show createCharacterButton
if (createCharacterButton != null)
@@ -143,7 +151,7 @@ namespace BrewMonster.UI
return;
}
if(_selectingCharacterItemUI!=null)
if (_selectingCharacterItemUI != null)
{
_selectingCharacterItemUI.SetFocus(false);
}
@@ -230,5 +238,11 @@ namespace BrewMonster.UI
BMLogger.LogError("No role selected");
}
}
private void OnClickedExit()
{
_onExit?.Invoke();
gameObject.SetActive(false);
}
}
}