From 28bdab60d8b98f6df90517a17f4e62f37af06d9b Mon Sep 17 00:00:00 2001 From: Le Duc Anh Date: Tue, 25 Nov 2025 18:52:32 +0700 Subject: [PATCH] load else player --- Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs | 10 ++++------ .../Scripts/Network/CSNetwork/CSNetwork.csproj.meta | 7 ------- .../Scripts/Network/CSNetwork/EC_MsgDef.cs | 6 +++--- .../Scripts/Network/CSNetwork/GameSession.cs | 1 + .../PerfectWorld/Scripts/Network/UnityGameSession.cs | 1 + Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs | 11 ++++++----- Assets/PerfectWorld/Scripts/UI/UIPlayer.cs | 10 ++++++++++ 7 files changed, 25 insertions(+), 21 deletions(-) delete mode 100644 Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs index 78041c1713..3adea52fca 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs @@ -56,9 +56,10 @@ namespace PerfectWorld.Scripts.Managers OnMsgPlayerStopMove(Msg); break; } - case int value when value == EC_MsgDef.MSG_PM_FACTION_PVP_MASK_MODIFY: - case int value1 when value1 == EC_MsgDef.MSG_PM_PLAYERATKRESULT: - Debug.Log("EC_MsgDef.MSG_PM_FACTION_PVP_MASK_MODIFY"); + case EC_MsgDef.MSG_PM_PLAYERBASEINFO: + case EC_MsgDef.MSG_PM_FACTION_PVP_MASK_MODIFY: + case EC_MsgDef.MSG_PM_PLAYERATKRESULT: + case EC_MsgDef.MSG_PM_CASTSKILL: TransmitMessage(Msg); break; case int value when value == EC_MsgDef.MSG_PM_PLAYERDIED: @@ -70,9 +71,6 @@ namespace PerfectWorld.Scripts.Managers case int value when value == EC_MsgDef.MSG_PM_PLAYERRUNOUT: OnMsgPlayerRunOut(Msg); break; - case int value when value == EC_MsgDef.MSG_PM_CASTSKILL: - TransmitMessage(Msg); - break; case EC_MsgDef.MSG_PM_PICKUPMATTER: OnMsgPlayerPickupMatter(Msg); break; diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta b/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta deleted file mode 100644 index 333a9b1482..0000000000 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d0c06c588e2a6442488a3542551fb243 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/EC_MsgDef.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/EC_MsgDef.cs index 32dd95493d..50d7714863 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/EC_MsgDef.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/EC_MsgDef.cs @@ -178,11 +178,11 @@ namespace CSNetwork // #define MSG_PM_TEAMMEMBERDATA 363 // Team member data public static int MSG_PM_LEAVETEAM = 364; // Player leave team public static int MSG_PM_PLAYEREQUIPDATA = 365; // Player equipment data - public static int MSG_PM_CASTSKILL = 366; // Player cast skill + public const int MSG_PM_CASTSKILL = 366; // Player cast skill public const int MSG_PM_PLAYERBASEINFO = 367; // Player custom data public static int MSG_PM_PLAYERFLY = 368; // Player take off or land on public static int MSG_PM_PLAYERSITDOWN = 369; // Player sit down / stand up - public static int MSG_PM_PLAYERATKRESULT = 370; // Player attack result + public const int MSG_PM_PLAYERATKRESULT = 370; // Player attack result public static int MSG_PM_PLAYEREXTSTATE = 371; // Player extend states changed public static int MSG_PM_PLAYERDOEMOTE = 372; // Player do emotion public static int MSG_PM_PLAYERUSEITEM = 373; // Player use item @@ -229,7 +229,7 @@ namespace CSNetwork public static int MSG_PM_REINCARNATION = 414; public static int MSG_PM_REALMLEVEL = 415; public static int MSG_PM_PLAYER_IN_OUT_BATTLE = 416; - public static int MSG_PM_FACTION_PVP_MASK_MODIFY = 417; + public const int MSG_PM_FACTION_PVP_MASK_MODIFY = 417; // Messages to NPC manager public static int MSG_NM_NPCINFO = 400; // NPC information, p1 - protocol object address diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 527f2d8aba..d1bc82be90 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -1084,6 +1084,7 @@ namespace CSNetwork private void OnPrtcPlayerBaseInfoRe(Protocol pProtocol) { playerbaseinfo_re p = (playerbaseinfo_re)pProtocol; + BMLogger.Log($"OnPrtcPlayerBaseInfoRe: {p.Roleid} {p.Player.cls} {p.Player.gender}"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_PLAYERBASEINFO, MANAGER_INDEX.MAN_PLAYER, -1, p); } diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs index 56be13f11b..cde6b56ab8 100644 --- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs @@ -320,6 +320,7 @@ namespace BrewMonster.Network public static void GetRoleBaseInfo(int iNumRole, List aRoleIDs) { + BMLogger.Log($"GetRoleBaseInfo: {iNumRole} {string.Join(", ", aRoleIDs)}"); Instance._gameSession.GetRoleBaseInfo(iNumRole, aRoleIDs); } diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index 845ec9e8b0..40b834e0d1 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -70,11 +70,6 @@ namespace PerfectWorld.Scripts.Player m_aabbServer.Center = vPos + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f); m_aabbServer.CompleteMinsMaxs(); - if (TryGetComponent(out var visual)) - { - visual.InitPlayerEventDoneHandler(); - } - LoadAppearGfx(); } public void MoveTo(cmd_object_move Cmd) @@ -442,7 +437,13 @@ namespace PerfectWorld.Scripts.Player EventBus.Publish(new NPCINFO(strName, 100,100, p.Roleid)); + BMLogger.Log($"SetPlayerModel: {roleBase.cls} {roleBase.gender}"); await SetPlayerModel((byte)roleBase.cls, (byte)roleBase.gender); + + if (TryGetComponent(out var visual)) + { + visual.InitPlayerEventDoneHandler(); + } } void OnMsgPlayerAtkResult(ECMSG Msg) diff --git a/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs b/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs index 3822973a16..3f6b670746 100644 --- a/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs +++ b/Assets/PerfectWorld/Scripts/UI/UIPlayer.cs @@ -14,11 +14,21 @@ namespace BrewMonster.PerfectWorld.Scripts.UI private void Start() { hostplayer = GetComponentInParent(); + if (hostplayer == null) + { + Debug.LogError("Host player not found"); + return; + } EventBus.SubscribeChannel(hostplayer.m_PlayerInfo.cid,UpdateHostPlayerInfoUI); } private void OnDestroy() { + if (hostplayer == null) + { + Debug.LogError("Host player not found"); + return; + } EventBus.UnsubscribeChannel(hostplayer.m_PlayerInfo.cid,UpdateHostPlayerInfoUI); }