diff --git a/TheStrongestSnail/Assets/Resources/TextBox.prefab b/TheStrongestSnail/Assets/Resources/TextBox.prefab index afd4289..3d901da 100644 --- a/TheStrongestSnail/Assets/Resources/TextBox.prefab +++ b/TheStrongestSnail/Assets/Resources/TextBox.prefab @@ -209,7 +209,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -388, y: 897} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 255.4885, y: 136.6154} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4075030775632783702 diff --git a/TheStrongestSnail/Assets/Scenes/logo.unity b/TheStrongestSnail/Assets/Scenes/logo.unity index 2c49d77..7e5704a 100644 --- a/TheStrongestSnail/Assets/Scenes/logo.unity +++ b/TheStrongestSnail/Assets/Scenes/logo.unity @@ -1131,7 +1131,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 503.5, y: -1649.3665} + m_AnchoredPosition: {x: 503.5, y: -1938.7665} m_SizeDelta: {x: 911, y: 289.4} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &376604315 @@ -1291,7 +1291,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 503.5, y: -773.83325} + m_AnchoredPosition: {x: 503.5, y: -861.33325} m_SizeDelta: {x: 911, y: 292.3333} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &421083510 @@ -4584,8 +4584,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1789203781} - - component: {fileID: 1789203785} - - component: {fileID: 1789203784} - component: {fileID: 1789203783} - component: {fileID: 1789203782} m_Layer: 0 @@ -4619,7 +4617,7 @@ MonoBehaviour: m_GameObject: {fileID: 1789203778} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9e50b3d02b729854e87c092afffd2a03, type: 3} + m_Script: {fileID: 11500000, guid: b7936430f01cc8343a1e62fc2052a12b, type: 3} m_Name: m_EditorClassIdentifier: --- !u!114 &1789203783 @@ -4631,33 +4629,9 @@ MonoBehaviour: m_GameObject: {fileID: 1789203778} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7936430f01cc8343a1e62fc2052a12b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1789203784 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1789203778} - m_Enabled: 0 - m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 8ee1a43c8ad7f8c41bad48013bf5af49, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &1789203785 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1789203778} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: db50a6d583762ea45b20d705d0e068cd, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1850703526 GameObject: m_ObjectHideFlags: 0 diff --git a/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs b/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs new file mode 100644 index 0000000..0602226 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ShowMoney : MonoBehaviour +{ + public GameObject purplePoint; + public GameObject cyanPoint; + public GameObject pinkPoint; + public GameObject yellowPoint; + public GameObject bluePoint; + public GameObject greenPoint; + + public GameObject TextBoxPrefab; + // Start is called before the first frame update + void Start() + { + GameObject purpleText = Instantiate( TextBoxPrefab, purplePoint.transform); + GameObject cyanText = Instantiate( TextBoxPrefab, cyanPoint.transform); + GameObject pinkText = Instantiate( TextBoxPrefab, pinkPoint.transform); + GameObject yellowText = Instantiate( TextBoxPrefab, yellowPoint.transform); + GameObject blueText = Instantiate( TextBoxPrefab, bluePoint.transform); + GameObject greenText = Instantiate( TextBoxPrefab, greenPoint.transform); + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs.meta b/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs.meta new file mode 100644 index 0000000..b4b7837 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Battle_Royale/ShowMoney.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e4bf0165dc8aed4bb250188bb0d6f1e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs b/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs new file mode 100644 index 0000000..87d9230 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class QueryEscapeRoom : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await QueryEscapeRoomDetails();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await QueryEscapeRoomDetails();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + + await QueryEscapeRoomDetails();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + // 查询逃亡房间详情 + public async Task QueryEscapeRoomDetails() + { + var headers = CreateHeaders(); + string body = $@" + {{ + ""userId"": 106, + ""escapeId"": {escapeId} + }}"; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryEscapeRoomList", "POST", body, headers); + Debug.Log("逃亡房间详情响应: " + response); + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs.meta new file mode 100644 index 0000000..69aa20a --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/QueryEscapeRoom.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b27d2d49f51751e42b31653d0b0b8d2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs b/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs new file mode 100644 index 0000000..d73aaba --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs @@ -0,0 +1,111 @@ + + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class UpdateUserInfo : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await UpdateUserInformation();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await UpdateUserInformation();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + // 查询击杀数据 + await UpdateUserInformation();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + // 更新用户信息 + public async Task UpdateUserInformation() + { + var headers = CreateHeaders(); + string body = @" + { + ""nickName"": ""wulongxiao"", + ""headImg"": ""https://fantasymonster-app.oss-cn-hangzhou.aliyuncs.com/upload/imgs/127e4e42d7c0405aab53359c1b278a9c.png"", + ""gender"": 1, + ""birthday"": ""2023-12-12 12:12:12"" + }"; + Debug.Log("正在更新用户信息..."); + string response = await web.SendRequest("http://121.40.42.41:8080/snail/user/update", "POST", body, headers); + Debug.Log("更新用户信息响应: " + response); + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs.meta new file mode 100644 index 0000000..5947d4f --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/UpdateUserInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3cdc7291c1f2c68489b960c1d53cbac6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs b/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs new file mode 100644 index 0000000..07102ff --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class UserBetResult : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await QueryUserBetResult();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await QueryUserBetResult();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + + await QueryUserBetResult();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + // 查询用户下注结果 + public async Task QueryUserBetResult() + { + var headers = CreateHeaders(); + string body = $@" + {{ + ""userId"": 106, + ""escapeId"": {escapeId} + }}"; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryUserBetResult", "POST", body, headers); + Debug.Log("查询用户下注结果响应: " + response); + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs.meta new file mode 100644 index 0000000..448bc9e --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/UserBetResult.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e57021e815a075842afcb8cea3c745d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs b/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs new file mode 100644 index 0000000..18e8955 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class gamber : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + // Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + //await UserBet();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await UserBet();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + + await UserBet();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + // 用户下注 + public async Task UserBet() + { + var headers = CreateHeaders(); + string body = $@" + {{ + ""userId"": 106, + ""escapeId"": {escapeId}, + ""bet"": 100, + ""roomNo"": 1 + }}"; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/userBet", "POST", body, headers); + Debug.Log("用户下注响应: " + response); + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs.meta new file mode 100644 index 0000000..e4900b5 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/gamber.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 265365642b7b8644081cd2ce79416fb3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs b/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs new file mode 100644 index 0000000..bc2d8d2 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class loadMall : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await LoadMallData();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await LoadMallData();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + + await LoadMallData();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + // 加载商城数据 + public async Task LoadMallData() + { + // 查询商城虚拟商品列表 + await QueryMallList(0); + // 查询商城实体商品列表 + await QueryMallList(1); + // 获取商品详情 + await GetMallProductDetails(1); + // 购买商品 + await BuyMallProduct(106, 1); + } + + // 查询商城列表 + public async Task QueryMallList(int productType) + { + var headers = CreateHeaders(); + Mall_List mallList = new Mall_List + { + productType = productType + }; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/product/page", "POST", JsonUtility.ToJson(mallList), headers); + Debug.Log($"商城列表 (productType: {productType}) 响应: " + response); + } + + // 获取商城商品详情 + public async Task GetMallProductDetails(int productId) + { + var headers = CreateHeaders(); + Product_Details productDetails = new Product_Details + { + productId = productId + }; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/product/info", "POST", JsonUtility.ToJson(productDetails), headers); + Debug.Log("获取商品详情响应: " + response); + } + + // 购买商品 + public async Task BuyMallProduct(int userId, int productId) + { + var headers = CreateHeaders(); + Mall_buy mallBuy = new Mall_buy + { + userId = userId, + productId = productId + }; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/product/buy", "POST", JsonUtility.ToJson(mallBuy), headers); + Debug.Log("购买商品响应: " + response); + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs.meta new file mode 100644 index 0000000..b07d29b --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/loadMall.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d449c3ad634c36d44a6c1fff067aa826 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs b/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs new file mode 100644 index 0000000..143cafc --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs @@ -0,0 +1,108 @@ + + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class selectQueryKill : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await QueryKill();//==================================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改 + // Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await QueryKill(); + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + // 查询击杀数据 + await QueryKill();//================================================================================================================================= + + } + +//=============================================================================================================================================================================================================================== + // 查询击杀信息 + public async Task QueryKill() + { + var headers = CreateHeaders(); + string body = $@" + {{ + ""userId"": 106, + ""escapeId"": {escapeId} + }}"; + string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryKill", "POST", body, headers); + Debug.Log("查询击杀信息响应: " + response); + } +//=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs.meta new file mode 100644 index 0000000..a376f4f --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/selectQueryKill.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c230883956c0b3546a885c300ad34498 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs b/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs new file mode 100644 index 0000000..aef1c51 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Threading.Tasks; +using Newtonsoft.Json; +public class selsecUserInfo : MonoBehaviour +{ + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + + void Start() + { + // 注册监听事件,当收到 token 时,触发 HandleTokenReceived + LoginAndGetToken.OnTokenReceived += HandleTokenReceived; + + // 注册监听,当 escapeId 更新时调用 HandleGameEscapeIdUpdated,但不执行其他方法 + selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; + } + + // 当接收到 token 时触发此方法,仅保存 token + public void HandleTokenReceived(string receivedToken) + { + token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + LoadInitialData(); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 token: " + token); + } + + // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId + public async void HandleGameEscapeIdUpdated(int newGameEscapeId) + { + escapeId = newGameEscapeId; // 保存最新的 escapeId + await selectUser();//=====================================================================放在这里仅因为懒得写触发条件,可以放在任何地方,比如input.GetKeyDown.....必须改掉,吃服务器 + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); + } + + + // 加载初始数据,使用最新的 token + public async void LoadInitialData() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载初始数据,token 未设置。"); + return; + } + await selectUser();//=====================================================================放在此处只为解除一个黄色报错,看着闹心。但可以不要 + } + + // 加载游戏逃亡数据,使用最新的 escapeId 和 token + public async void selectQueryKill1() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("无法加载游戏逃亡数据,token 未设置。"); + return; + } + + if (escapeId == -1) + { + Debug.LogWarning("无法加载游戏逃亡数据,escapeId 未设置。"); + return; + } + + await selectUser();//========================================================================================================================================================================== + + } + + //=============================================================================================================================================================================================================================== + + // 查询用户详情 + public async Task selectUser() + { + var headers = CreateHeaders(); + Debug.Log("正在查询用户详细信息..."); + string response = await web.SendRequest("http://121.40.42.41:8080/snail/user/queryUserInfo", "POST", "{}", headers); + Debug.Log("查询用户详细信息响应: " + response); + return response; + } + //=============================================================================================================================================================================================================================== + + // 创建请求头,使用最新的 token + public Dictionary CreateHeaders() + { + if (string.IsNullOrEmpty(token)) + { + Debug.LogWarning("尝试创建请求头时,token 未设置。"); + return new Dictionary(); + } + + return new Dictionary + { + { "Authorization", token } + }; + } + + void OnDestroy() + { + // 注销监听事件,避免内存泄漏 + LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; + selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; + } +} \ No newline at end of file diff --git a/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs.meta b/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs.meta new file mode 100644 index 0000000..c452c87 --- /dev/null +++ b/TheStrongestSnail/Assets/Scripts/Login/11/selectUserInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81202125ae1fe2f43a0ccf3e996186bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TheStrongestSnail/Assets/Scripts/Login/LoginAndGetToken.cs b/TheStrongestSnail/Assets/Scripts/Login/LoginAndGetToken.cs index 441b4a1..a932045 100644 --- a/TheStrongestSnail/Assets/Scripts/Login/LoginAndGetToken.cs +++ b/TheStrongestSnail/Assets/Scripts/Login/LoginAndGetToken.cs @@ -15,7 +15,7 @@ public class LoginAndGetToken : MonoBehaviour private void OnEnable() { - Login(); + //Login(); } public async void Login() diff --git a/TheStrongestSnail/Assets/Scripts/Login/WebConnact.cs b/TheStrongestSnail/Assets/Scripts/Login/WebConnact.cs index 6fbaf5e..1e8c66d 100644 --- a/TheStrongestSnail/Assets/Scripts/Login/WebConnact.cs +++ b/TheStrongestSnail/Assets/Scripts/Login/WebConnact.cs @@ -303,7 +303,6 @@ public class cutePoolPage { public int orderByBeansCoin; } */ - /*using System; using System.Collections; using System.Collections.Generic; @@ -526,7 +525,6 @@ public class WebConnact : MonoBehaviour { } }*/ - /*using System; using System.Collections; using System.Collections.Generic; @@ -982,11 +980,10 @@ using System.Collections.Generic; using UnityEngine; using System.Threading.Tasks; using Newtonsoft.Json; - public class WebConnact : MonoBehaviour { - private string token = null; // 保存最新的 token,初始为 null - private int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 + public string token = null; // 保存最新的 token,初始为 null + public int escapeId = -1; // 保存最新的 escapeId,初始为 -1 表示未设置 void Start() { @@ -998,17 +995,21 @@ public class WebConnact : MonoBehaviour } // 当接收到 token 时触发此方法,仅保存 token - void HandleTokenReceived(string receivedToken) + public void HandleTokenReceived(string receivedToken) { token = receivedToken; // 保存最新的 token + // 首次调用加载初始数据 + //LoadInitialData(); + //LoadGameEscapeData(); Debug.Log("接收到新的 token: " + token); } // 当游戏逃亡 ID 更新时触发此方法,仅保存最新的 escapeId - void HandleGameEscapeIdUpdated(int newGameEscapeId) + public void HandleGameEscapeIdUpdated(int newGameEscapeId) { escapeId = newGameEscapeId; // 保存最新的 escapeId - Debug.Log("接收到新的 GameEscapeId: " + escapeId); + //LoadGameEscapeData(); + //Debug.Log("接收到新的 GameEscapeId: " + escapeId); } // 加载初始数据,使用最新的 token @@ -1044,7 +1045,7 @@ public class WebConnact : MonoBehaviour } // 查询最近的大屠杀 - await QueryLatestMassacre(); + // await QueryLatestMassacre(); // 查询逃亡房间详情 await QueryEscapeRoomDetails(); // 用户下注 @@ -1056,7 +1057,7 @@ public class WebConnact : MonoBehaviour } // 更新用户信息 - private async Task UpdateUserInformation() + public async Task UpdateUserInformation() { var headers = CreateHeaders(); string body = @" @@ -1072,7 +1073,7 @@ public class WebConnact : MonoBehaviour } // 查询用户详情 - private async Task QueryUserDetails() + public async Task QueryUserDetails() { var headers = CreateHeaders(); Debug.Log("正在查询用户详细信息..."); @@ -1082,7 +1083,7 @@ public class WebConnact : MonoBehaviour } // 加载商城数据 - private async Task LoadMallData() + public async Task LoadMallData() { // 查询商城虚拟商品列表 await QueryMallList(0); @@ -1095,7 +1096,7 @@ public class WebConnact : MonoBehaviour } // 查询商城列表 - private async Task QueryMallList(int productType) + public async Task QueryMallList(int productType) { var headers = CreateHeaders(); Mall_List mallList = new Mall_List @@ -1107,7 +1108,7 @@ public class WebConnact : MonoBehaviour } // 获取商城商品详情 - private async Task GetMallProductDetails(int productId) + public async Task GetMallProductDetails(int productId) { var headers = CreateHeaders(); Product_Details productDetails = new Product_Details @@ -1119,7 +1120,7 @@ public class WebConnact : MonoBehaviour } // 购买商品 - private async Task BuyMallProduct(int userId, int productId) + public async Task BuyMallProduct(int userId, int productId) { var headers = CreateHeaders(); Mall_buy mallBuy = new Mall_buy @@ -1131,16 +1132,16 @@ public class WebConnact : MonoBehaviour Debug.Log("购买商品响应: " + response); } - // 查询最近的大屠杀 - private async Task QueryLatestMassacre() - { - var headers = CreateHeaders(); - string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryLatest", "POST", "{}", headers); - Debug.Log("查询最近大屠杀响应: " + response); - } + //// 查询最近的大屠杀 + //public async Task QueryLatestMassacre() + //{ + // var headers = CreateHeaders(); + // string response = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryLatest", "POST", "{}", headers); + // Debug.Log("查询最近大屠杀响应: " + response); + //} // 查询逃亡房间详情 - private async Task QueryEscapeRoomDetails() + public async Task QueryEscapeRoomDetails() { var headers = CreateHeaders(); string body = $@" @@ -1153,7 +1154,7 @@ public class WebConnact : MonoBehaviour } // 用户下注 - private async Task UserBet() + public async Task UserBet() { var headers = CreateHeaders(); string body = $@" @@ -1168,7 +1169,7 @@ public class WebConnact : MonoBehaviour } // 查询击杀信息 - private async Task QueryKill() + public async Task QueryKill() { var headers = CreateHeaders(); string body = $@" @@ -1181,7 +1182,7 @@ public class WebConnact : MonoBehaviour } // 查询用户下注结果 - private async Task QueryUserBetResult() + public async Task QueryUserBetResult() { var headers = CreateHeaders(); string body = $@" @@ -1194,7 +1195,7 @@ public class WebConnact : MonoBehaviour } // 创建请求头,使用最新的 token - private Dictionary CreateHeaders() + public Dictionary CreateHeaders() { if (string.IsNullOrEmpty(token)) { diff --git a/TheStrongestSnail/Assets/Scripts/Login/selectGameEscape512.cs b/TheStrongestSnail/Assets/Scripts/Login/selectGameEscape512.cs index 45cea61..379e02f 100644 --- a/TheStrongestSnail/Assets/Scripts/Login/selectGameEscape512.cs +++ b/TheStrongestSnail/Assets/Scripts/Login/selectGameEscape512.cs @@ -43,7 +43,7 @@ public class selectGameEscape512 : MonoBehaviour { while (true) // 无限循环来实现每2秒发送一次请求 { - yield return new WaitForSeconds(5f); // 每2秒暂停一次 + yield return new WaitForSeconds(2f); // 每2秒暂停一次 yield return gameEscape(token); // 调用gameEscape方法 } } @@ -52,7 +52,7 @@ public class selectGameEscape512 : MonoBehaviour { // 用来给请求头赋值 string Authorization = token; - Debug.Log("Loding(Authorization)请求头赋值" + Authorization); + //Debug.Log("Loding(Authorization)请求头赋值" + Authorization); // 5.1查询最近一场大屠杀 Dictionary head51 = new Dictionary @@ -70,7 +70,7 @@ public class selectGameEscape512 : MonoBehaviour if (response != null && response.code == 200 && response.data != null) { gameEscapeId = response.data.gameEscapeModel.id; - Debug.Log("解析成功,id为: " + gameEscapeId); + //Debug.Log("解析成功,id为: " + gameEscapeId); // 触发事件,通知所有订阅者 OnGameEscapeIdUpdated?.Invoke(gameEscapeId); @@ -126,109 +126,3 @@ public class selectGameEscape512 : MonoBehaviour } - - -/*public class selectGameEscape512 : MonoBehaviour -{ - int gameEscapeId; - - void Start() - { - // 由于除登录注册外的其他方法,都需要登录后返回的token - // 因此登录不在此发送请求(同时) - // 采用监听和事件回调的方法,只有监听到登录和token返回时,才运行其他方法 - LoginAndGetToken.OnTokenReceived += HandleTokenReceived; - } - - void HandleTokenReceived(string token) - { - // 使用 token - Debug.Log("HandleTokenReceived监听:" + token); - StartCoroutine(GameEscapeRoutine(token)); // 启动协程,每2秒调用一次gameEscape - } - - // 创建一个IEnumerator的协程 - IEnumerator GameEscapeRoutine(string token) - { - while (true) // 无限循环来实现每2秒发送一次请求 - { - yield return new WaitForSeconds(2f); // 每2秒暂停一次 - yield return gameEscape(token); // 调用gameEscape方法 - } - } - - public async Task gameEscape(string token) - { - // 用来给请求头赋值 - string Authorization = token; - Debug.Log("Loding(Authorization)请求头赋值" + Authorization); - - // 5.1查询最近一场大屠杀 - Dictionary head51 = new Dictionary - { - { "Authorization", Authorization }, // 设置授权头 - }; - - string response51 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryLatest", "POST", "{}", head51); - Debug.Log("5.1查询最近一场大屠杀(独立)" + response51); // 查询最近一场大逃亡游戏详情: - - // 解析JSON数据 - string json = response51; - Response response = JsonConvert.DeserializeObject(json); - - if (response != null && response.code == 200 && response.data != null) - { - gameEscapeId = response.data.gameEscapeModel.id; - Debug.Log("解析成功,id为: " + gameEscapeId); - } - else - { - Debug.LogError("解析失败或响应错误"); - } - } - - void OnDestroy() - { - // 取消监听,避免内存泄漏 - LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; - } - - // Update is called once per frame - void Update() - { - - } - - [Serializable] - public class GameEscapeModel - { - public int id; // 解析游戏ID - public string gameNo; // 包括游戏编号 - } - - [Serializable] - public class GameEscapeRoomResponseVo - { - public int escapeId; // 逃脱游戏的ID - public int roomNo; // 房间号 - } - - [Serializable] - public class Data - { - public int carrySeconds; // 持续秒数 - public GameEscapeModel gameEscapeModel; // 嵌套的GameEscapeModel对象 - public List gameEscapeRoomResponseVoList; // 房间信息列表 - public object gameEscapeUserModel; // 用户模型,可以保持为空或根据需要进行定义 - } - - [Serializable] - public class Response - { - public int code; // 状态码 - public string message; // 返回信息 - public Data data; // 数据对象 - } -}*/ - -