diff --git a/Assets/MyGame/Scripts/Manager/GameManager.cs b/Assets/MyGame/Scripts/Manager/GameManager.cs index 5bdca86bf..cecad1596 100644 --- a/Assets/MyGame/Scripts/Manager/GameManager.cs +++ b/Assets/MyGame/Scripts/Manager/GameManager.cs @@ -229,4 +229,19 @@ public class GameManager : MonoSingleton #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(); + }); + } } diff --git a/Assets/MyGame/Scripts/Net/WebSocketManager.cs b/Assets/MyGame/Scripts/Net/WebSocketManager.cs index bef15377b..8e5a9027d 100644 --- a/Assets/MyGame/Scripts/Net/WebSocketManager.cs +++ b/Assets/MyGame/Scripts/Net/WebSocketManager.cs @@ -219,6 +219,17 @@ namespace Assets.MyGame.Scripts.Net } } + /// + /// 关闭所有 socket + /// + public void CloseAll() + { + foreach (var type in new List(sockets.Keys)) + { + Close(type); + } + } + /// /// 自动重连 /// diff --git a/Assets/MyGame/Scripts/Net/WebSocketReponseList.cs b/Assets/MyGame/Scripts/Net/WebSocketReponseList.cs index 968cf5d86..407d79d36 100644 --- a/Assets/MyGame/Scripts/Net/WebSocketReponseList.cs +++ b/Assets/MyGame/Scripts/Net/WebSocketReponseList.cs @@ -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(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; + } + } /// diff --git a/Assets/MyGame/aa/Game.mixer b/Assets/MyGame/aa/Game.mixer index 8be00371b..aa0fa47c7 100644 --- a/Assets/MyGame/aa/Game.mixer +++ b/Assets/MyGame/aa/Game.mixer @@ -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: diff --git a/Assets/MyGame/aa/UI/Game/ChineseChess/3GameMain.prefab b/Assets/MyGame/aa/UI/Game/ChineseChess/3GameMain.prefab index dcca1be3b..ce36dc043 100644 --- a/Assets/MyGame/aa/UI/Game/ChineseChess/3GameMain.prefab +++ b/Assets/MyGame/aa/UI/Game/ChineseChess/3GameMain.prefab @@ -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} diff --git a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs index fd58caa50..ab88420c8 100644 --- a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs +++ b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs @@ -170,6 +170,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base { base.OnShow(args); LoadResources(); + RefreshGGKCount(); //UIManager.Instance.ShowBoard("太好看了"); var v = JsonConvert.DeserializeObject>(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(() => { diff --git a/Assets/MyGame/aa/UI/Home/Sub/UserInfoPanel.cs b/Assets/MyGame/aa/UI/Home/Sub/UserInfoPanel.cs index 1f75c9c21..db44c3188 100644 --- a/Assets/MyGame/aa/UI/Home/Sub/UserInfoPanel.cs +++ b/Assets/MyGame/aa/UI/Home/Sub/UserInfoPanel.cs @@ -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(null, () => + { + SceneMgr.Instance.LoadScene("Login", () => + { + UIManager.Instance.ShowUI(); + }); + }); + }); + }); } protected override void OnShow(object args = null) @@ -36,6 +51,7 @@ public class UserInfoPanel : SubUIBase base.OnShow(args); InitInformation(); BuildAvatarList(); + } // ==================== 基础信息 ==================== diff --git a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab index 92b691a53..2c71961d9 100644 --- a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab +++ b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab @@ -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