From f615aab877b33843679e7d126d4df7517ccfb411 Mon Sep 17 00:00:00 2001 From: HungDK <> Date: Sat, 13 Sep 2025 18:34:16 +0700 Subject: [PATCH] Add own item info data handle --- .../DataProcess/ElementDataManProvider.cs | 3 +- .../Common/DataProcess/elementdataman.cs | 4 +- .../Scripts/Managers/EC_IvtrItem.cs | 10 +++++ .../Scripts/Managers/EC_IvtrItem.cs.meta | 3 ++ .../Scripts/Network/UnityGameSession.cs | 6 +-- .../Scripts/UI/Login/LoginScreenUI.cs | 7 ++-- Assets/Scripts/CECHostPlayer.cs | 42 +++++++++++-------- 7 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs create mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/DataProcess/ElementDataManProvider.cs b/Assets/PerfectWorld/Scripts/Common/DataProcess/ElementDataManProvider.cs index c7a9d5def9..f40ab55507 100644 --- a/Assets/PerfectWorld/Scripts/Common/DataProcess/ElementDataManProvider.cs +++ b/Assets/PerfectWorld/Scripts/Common/DataProcess/ElementDataManProvider.cs @@ -1,5 +1,6 @@ using System; using ModelRenderer.Scripts.GameData; +using UnityEngine; namespace BrewMonster { @@ -24,7 +25,7 @@ namespace BrewMonster } catch (Exception ex) { - Logger.LogError($"ElementDataManProvider: Failed to load element data: {ex}"); + Logger.LogError($"ElementDataManProvider: Failed to load element data: {ex} - {ex.StackTrace}"); } } diff --git a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs index a04b82e2a3..444ef356ba 100644 --- a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs +++ b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs @@ -586,11 +586,11 @@ namespace ModelRenderer.Scripts.GameData add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item); } - foreach (var item in unionscroll_essence_array) + /*foreach (var item in unionscroll_essence_array) { add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_UNIONSCROLL_ESSENCE); add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item); - } + }*/ } public void SaveDataToTextFile() diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs new file mode 100644 index 0000000000..1efb09b797 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs @@ -0,0 +1,10 @@ +using BrewMonster; +using ModelRenderer.Scripts.GameData; + +namespace PerfectWorld.Scripts.Managers +{ + public class EC_IvtrItem + { + + } +} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta new file mode 100644 index 0000000000..8045c9c72f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 423a6efd71f143f08096d684ca414bba +timeCreated: 1757752654 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs index 097587c041..aca8c53adb 100644 --- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs @@ -102,11 +102,7 @@ namespace BrewMonster.Network { Instance._gameSession.SelectRoleAsync(roleInfo, callback); } - public static void EnterWorldAsync(RoleInfo roleInfo, Action callback = null) - { - Instance._gameSession.EnterWorldAsync(roleInfo, callback); - } - + public static void RequestInventoryAsync(Action callback = null) { Instance._gameSession.RequestInventoryAsync(callback); diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index 9373b16535..f9b40066d9 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -86,7 +86,7 @@ namespace BrewMonster.UI Logger.Log($"OnSelectRoleComplete {roleInfo.name} - {roleInfo.roleid}"); // now we have to enter the world - /* UnityGameSession.SendProtocol( + UnityGameSession.SendProtocol( new enterworld() { Roleid = roleInfo.roleid, @@ -97,8 +97,9 @@ namespace BrewMonster.UI Settime = 0, Timeout = 0 } - );*/ - UnityGameSession.EnterWorldAsync(roleInfo, OnEnterWorldComplete); + + ); + OnEnterWorldComplete(); } private async void OnEnterWorldComplete() diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index dddc2c8f89..7e9df64e70 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -13,6 +13,7 @@ using UnityEngine.SceneManagement; using UnityEngine.UI; using Scene = UnityEngine.SceneManagement.Scene; using System.Runtime.InteropServices; +using BrewMonster; public class CECHostPlayer : MonoBehaviour { @@ -191,6 +192,27 @@ public class CECHostPlayer : MonoBehaviour OnMsgHstIvtrInfo(Msg); break; } + case int value when value == EC_MsgDef.MSG_HST_OWNITEMINFO: + { + OnMsgHstOwnItemInfo(Msg); + break; + } + } + } + public void OnMsgHstOwnItemInfo(ECMSG Msg) + { + int cmd = Convert.ToInt32(Msg.dwParam2); + switch (cmd) + { + case CommandID.OWN_ITEM_INFO: + { + Debug.Log("[Inventory] OWN_ITEM_INFO received"); + var data = Msg.dwParam1 as byte[]; + int hostId = Convert.ToInt32(Msg.dwParam3); + LogInventoryPacket("OWN_ITEM_INFO", data, hostId); + break; + } + } } public void OnMsgHstIvtrInfo(ECMSG Msg) @@ -211,26 +233,10 @@ public class CECHostPlayer : MonoBehaviour { Debug.Log("[Inventory] OWN_IVTR_DETAIL_DATA received"); LogInventoryPacket("OWN_IVTR_DETAIL_DATA", data, hostId); + //ElementDataManProvider.GetElementDataMan().armor_essence_array. break; } - case CommandID.GET_OWN_MONEY: - { - Debug.Log("[Inventory] GET_OWN_MONEY received"); - LogInventoryRaw("GET_OWN_MONEY", data); - break; - } - case CommandID.CHANGE_IVTR_SIZE: - { - Debug.Log("[Inventory] CHANGE_IVTR_SIZE received"); - LogInventoryRaw("CHANGE_IVTR_SIZE", data); - break; - } - default: - { - Debug.Log($"[Inventory] Unhandled inventory cmd={cmd}"); - LogInventoryRaw($"CMD_{cmd}", data); - break; - } + } } public void OnMsgHstCorrectPos(in ECMSG Msg)