This commit is contained in:
2026-06-28 16:48:18 +08:00
parent 20d9544dc7
commit ec27005655
8 changed files with 91 additions and 20 deletions
@@ -229,4 +229,19 @@ public class GameManager : MonoSingleton<GameManager>
#endif
}
public void Logout(Action onDone = null)
{
// 关闭所有 WebSocket 连接
WebSocketManager.Instance.CloseAll();
// 清空用户数据
user = null;
// 关闭所有 UI
UIManager.Instance.CloseAll();
// 切换到登录界面
UIManager.Instance.ShowAsync(UIPanel.LoginPanel, null, (panel) =>
{
onDone?.Invoke();
});
}
}
@@ -219,6 +219,17 @@ namespace Assets.MyGame.Scripts.Net
}
}
/// <summary>
/// 关闭所有 socket
/// </summary>
public void CloseAll()
{
foreach (var type in new List<SocketType>(sockets.Keys))
{
Close(type);
}
}
/// <summary>
/// 自动重连
/// </summary>
@@ -94,20 +94,23 @@ namespace Assets.MyGame.Scripts.Net
default:
break;
}
UIManager.Instance.ShowAsync(uIPanel, UIPanel.HomeMainPanel, msg);
// 卸载所有已加载的游戏地图场景
string[] gameScenes = { "FLZY", "YYSC", "XJMH", "HHWK" };
foreach (var sn in gameScenes)
if (UIManager.Instance.Get<GameMainPanel_Base>(uIPanel)==null)
{
var s = SceneManager.GetSceneByName(sn);
if (s.IsValid() && s.isLoaded)
SceneManager.UnloadSceneAsync(sn);
}
SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
UIManager.Instance.ShowAsync(uIPanel, UIPanel.HomeMainPanel, msg);
// 卸载所有已加载的游戏地图场景
string[] gameScenes = { "FLZY", "YYSC", "XJMH", "HHWK" };
foreach (var sn in gameScenes)
{
var s = SceneManager.GetSceneByName(sn);
if (s.IsValid() && s.isLoaded)
SceneManager.UnloadSceneAsync(sn);
}
SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
UIManager.Instance.Close(UIPanel.HomeMainPanel);
WebSocketManager.Instance.isGame = true;
}
UIManager.Instance.Close(UIPanel.HomeMainPanel);
WebSocketManager.Instance.isGame = true;
}
/// <summary>
+7 -2
View File
@@ -48,7 +48,11 @@ AudioMixerController:
m_SuspendThreshold: -80
m_EnableSuspend: 1
m_UpdateMode: 0
m_ExposedParameters: []
m_ExposedParameters:
- guid: d30fb49f2b7c2b24e85079e8df304b27
name: BGVolume
- guid: cfd26c9ee597d604194b57bf1497f51b
name: FXVolume
m_AudioMixerGroupViews:
- guids:
- 01466c5d1ee07af44927c8f453cde23b
@@ -101,7 +105,8 @@ AudioMixerSnapshotController:
m_Name: Snapshot
m_AudioMixer: {fileID: 24100000}
m_SnapshotID: d1667273fc7d04e4f80446113b034597
m_FloatValues: {}
m_FloatValues:
d30fb49f2b7c2b24e85079e8df304b27: 0
m_TransitionOverrides: {}
--- !u!243 &458904080387459688
AudioMixerGroupController:
@@ -663,6 +663,7 @@ MonoBehaviour:
btn_RenShu: {fileID: 3944003400527962833}
btn_HuiQi: {fileID: 7736786247353194216}
btn_SheZhi: {fileID: 1337329277101656982}
btn_GuiZe: {fileID: 4683566954994342685}
btn_StartGame: {fileID: 7784025018183944699}
img_DengDaiZhong: {fileID: 8918328693605437385}
btn_FanHuiDaTing: {fileID: 8119276241258304471}
@@ -170,6 +170,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
{
base.OnShow(args);
LoadResources();
RefreshGGKCount();
//UIManager.Instance.ShowBoard("太好看了");
var v = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(args.ToString());
if (v.arguments.Count > 0)
@@ -268,6 +269,24 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
}
}
private void RefreshGGKCount()
{
var props = GameManager.Instance.user?.props;
int count = 0;
if (props != null)
{
foreach (var p in props)
{
if (p.number == "40005" && p.count > 0)
{
count = p.count;
break;
}
}
}
if (tmp_GGKCount != null)
tmp_GGKCount.text = count.ToString();
}
protected override void OnHide()
{
base.OnHide();
@@ -286,6 +305,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
public override void Awake()
{
base.Awake();
GameManager.Instance.OnUserDataChanged += RefreshGGKCount;
baseAttackTime = attackTime;
btn_ChangeTurret.onClick.AddListener(() =>
{
@@ -12,6 +12,7 @@ public class UserInfoPanel : SubUIBase
{
[Header("基础信息")]
public Image sprite_Avatar;
public Button btn_ChangeUser;
public TextMeshProUGUI tMPText_Name;
public TextMeshProUGUI tMPText_ID;
public TextMeshProUGUI tMPText_UserNumber;
@@ -29,6 +30,20 @@ public class UserInfoPanel : SubUIBase
public override void Awake()
{
base.Awake();
btn_ChangeUser.onClick.AddListener(() =>
{
// 退出登录 → 返回登录界面
gameManager.Logout(() =>
{
UIManager.Instance.ShowUI<LoadingPanel>(null, () =>
{
SceneMgr.Instance.LoadScene("Login", () =>
{
UIManager.Instance.ShowUI<LoginPanel>();
});
});
});
});
}
protected override void OnShow(object args = null)
@@ -36,6 +51,7 @@ public class UserInfoPanel : SubUIBase
base.OnShow(args);
InitInformation();
BuildAvatarList();
}
// ==================== 基础信息 ====================
+6 -6
View File
@@ -692,7 +692,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &5633071053551845078
RectTransform:
m_ObjectHideFlags: 0
@@ -2209,7 +2209,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &155768161856944766
RectTransform:
m_ObjectHideFlags: 0
@@ -5986,7 +5986,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &7319798553193469599
RectTransform:
m_ObjectHideFlags: 0
@@ -9221,7 +9221,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &6727621936526827902
RectTransform:
m_ObjectHideFlags: 0
@@ -9395,7 +9395,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &2752996038523846061
RectTransform:
m_ObjectHideFlags: 0
@@ -12630,7 +12630,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &3825947592969794336
RectTransform:
m_ObjectHideFlags: 0