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 #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>
/// 自动重连 /// 自动重连
/// </summary> /// </summary>
@@ -94,20 +94,23 @@ namespace Assets.MyGame.Scripts.Net
default: default:
break; break;
} }
if (UIManager.Instance.Get<GameMainPanel_Base>(uIPanel)==null)
UIManager.Instance.ShowAsync(uIPanel, UIPanel.HomeMainPanel, msg);
// 卸载所有已加载的游戏地图场景
string[] gameScenes = { "FLZY", "YYSC", "XJMH", "HHWK" };
foreach (var sn in gameScenes)
{ {
var s = SceneManager.GetSceneByName(sn); UIManager.Instance.ShowAsync(uIPanel, UIPanel.HomeMainPanel, msg);
if (s.IsValid() && s.isLoaded) // 卸载所有已加载的游戏地图场景
SceneManager.UnloadSceneAsync(sn); string[] gameScenes = { "FLZY", "YYSC", "XJMH", "HHWK" };
} foreach (var sn in gameScenes)
SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive); {
var s = SceneManager.GetSceneByName(sn);
if (s.IsValid() && s.isLoaded)
SceneManager.UnloadSceneAsync(sn);
}
SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
UIManager.Instance.Close(UIPanel.HomeMainPanel); UIManager.Instance.Close(UIPanel.HomeMainPanel);
WebSocketManager.Instance.isGame = true; WebSocketManager.Instance.isGame = true;
}
} }
/// <summary> /// <summary>
+7 -2
View File
@@ -48,7 +48,11 @@ AudioMixerController:
m_SuspendThreshold: -80 m_SuspendThreshold: -80
m_EnableSuspend: 1 m_EnableSuspend: 1
m_UpdateMode: 0 m_UpdateMode: 0
m_ExposedParameters: [] m_ExposedParameters:
- guid: d30fb49f2b7c2b24e85079e8df304b27
name: BGVolume
- guid: cfd26c9ee597d604194b57bf1497f51b
name: FXVolume
m_AudioMixerGroupViews: m_AudioMixerGroupViews:
- guids: - guids:
- 01466c5d1ee07af44927c8f453cde23b - 01466c5d1ee07af44927c8f453cde23b
@@ -101,7 +105,8 @@ AudioMixerSnapshotController:
m_Name: Snapshot m_Name: Snapshot
m_AudioMixer: {fileID: 24100000} m_AudioMixer: {fileID: 24100000}
m_SnapshotID: d1667273fc7d04e4f80446113b034597 m_SnapshotID: d1667273fc7d04e4f80446113b034597
m_FloatValues: {} m_FloatValues:
d30fb49f2b7c2b24e85079e8df304b27: 0
m_TransitionOverrides: {} m_TransitionOverrides: {}
--- !u!243 &458904080387459688 --- !u!243 &458904080387459688
AudioMixerGroupController: AudioMixerGroupController:
@@ -663,6 +663,7 @@ MonoBehaviour:
btn_RenShu: {fileID: 3944003400527962833} btn_RenShu: {fileID: 3944003400527962833}
btn_HuiQi: {fileID: 7736786247353194216} btn_HuiQi: {fileID: 7736786247353194216}
btn_SheZhi: {fileID: 1337329277101656982} btn_SheZhi: {fileID: 1337329277101656982}
btn_GuiZe: {fileID: 4683566954994342685}
btn_StartGame: {fileID: 7784025018183944699} btn_StartGame: {fileID: 7784025018183944699}
img_DengDaiZhong: {fileID: 8918328693605437385} img_DengDaiZhong: {fileID: 8918328693605437385}
btn_FanHuiDaTing: {fileID: 8119276241258304471} btn_FanHuiDaTing: {fileID: 8119276241258304471}
@@ -170,6 +170,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
{ {
base.OnShow(args); base.OnShow(args);
LoadResources(); LoadResources();
RefreshGGKCount();
//UIManager.Instance.ShowBoard("太好看了"); //UIManager.Instance.ShowBoard("太好看了");
var v = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(args.ToString()); var v = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(args.ToString());
if (v.arguments.Count > 0) 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() protected override void OnHide()
{ {
base.OnHide(); base.OnHide();
@@ -286,6 +305,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
public override void Awake() public override void Awake()
{ {
base.Awake(); base.Awake();
GameManager.Instance.OnUserDataChanged += RefreshGGKCount;
baseAttackTime = attackTime; baseAttackTime = attackTime;
btn_ChangeTurret.onClick.AddListener(() => btn_ChangeTurret.onClick.AddListener(() =>
{ {
@@ -12,6 +12,7 @@ public class UserInfoPanel : SubUIBase
{ {
[Header("基础信息")] [Header("基础信息")]
public Image sprite_Avatar; public Image sprite_Avatar;
public Button btn_ChangeUser;
public TextMeshProUGUI tMPText_Name; public TextMeshProUGUI tMPText_Name;
public TextMeshProUGUI tMPText_ID; public TextMeshProUGUI tMPText_ID;
public TextMeshProUGUI tMPText_UserNumber; public TextMeshProUGUI tMPText_UserNumber;
@@ -29,6 +30,20 @@ public class UserInfoPanel : SubUIBase
public override void Awake() public override void Awake()
{ {
base.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) protected override void OnShow(object args = null)
@@ -36,6 +51,7 @@ public class UserInfoPanel : SubUIBase
base.OnShow(args); base.OnShow(args);
InitInformation(); InitInformation();
BuildAvatarList(); BuildAvatarList();
} }
// ==================== 基础信息 ==================== // ==================== 基础信息 ====================
+6 -6
View File
@@ -692,7 +692,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &5633071053551845078 --- !u!224 &5633071053551845078
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2209,7 +2209,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &155768161856944766 --- !u!224 &155768161856944766
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -5986,7 +5986,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &7319798553193469599 --- !u!224 &7319798553193469599
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -9221,7 +9221,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &6727621936526827902 --- !u!224 &6727621936526827902
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -9395,7 +9395,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &2752996038523846061 --- !u!224 &2752996038523846061
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -12630,7 +12630,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &3825947592969794336 --- !u!224 &3825947592969794336
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0