hch
2025-06-05 07aee5604f365541c165f02bfe5437f1ed296fb5
0015 卡牌服务端搭建 - 前期登录流程
27个文件已修改
82 文件已重命名
20个文件已删除
18 文件已复制
10个文件已添加
2002 ■■■■ 已修改文件
Main/Component/UI/Common/UIRoot.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/UIRoot.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/GameEngine/Player/PlayerBaseData.cs 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/GameEngine/Player/PlayerDatas.cs 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C32_GM.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA3_Item.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA5_Function.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA9_Function.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToMapServer.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/GameNetPackBasic.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/GameNetSystem.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Main.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Manager/StageManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Manager/UIManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/SDK/SDKUtils.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Chat/ChatManager.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Chat/ChatWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/CrossServer.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/CrossServer/CrossServerUtility.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/CrossServer/CrossServerUtility.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GMCommand/GMCmdManager.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GMCommand/GMCmdPanel.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GMCommand/GMInputWin.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Launch/LaunchBackGroundWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/LoginManager.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/ServerBehaviourGroup.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/ServerData.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/ServerListWin.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/SystemSetting/SettingMgr.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/UIBase/UIBase.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/StageLoadTimeOutCatcher.cs 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/StageLoadTimeOutCatcher.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/TimeUtility.cs 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/UIRoot.cs
File was deleted
Main/Component/UI/Common/UIRoot.cs.meta
File was deleted
Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs
@@ -17,7 +17,7 @@
        ShaderUtility.WarmUpAll();
        //SpeechTranslate.Instance.RequestGetToken();
        UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
        
        var launchWin = UIManager.Instance.GetUI<LaunchWin>();
Main/Core/GameEngine/Player/PlayerBaseData.cs
@@ -2,8 +2,6 @@
public class PlayerBaseData
{
    public ushort mainServerMapIdRecord = 0;
    public string AccID;    //_KEY_i_帐号名, 该角色所在的帐号的用户名
    public uint PlayerID;    //_IDT_
    public string PlayerName;    //size = 14
@@ -138,102 +136,62 @@
        }
    }
    public void UpdateData(int temp/*H0102_tagCDBPlayer _serverInfo*/)
    {
//         if (_serverInfo.socketType == ServerType.Main)
//         {
//             AccID = _serverInfo.AccID;
//             PlayerID = _serverInfo.PlayerID;
//             PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
//             GMLevel = _serverInfo.GMLevel;
//             Job = _serverInfo.Job;
//             LV = _serverInfo.LV;
//             ExpPoint = _serverInfo.ExpPoint;
//             TotalExp = _serverInfo.TotalExp;
//             FamilyId = _serverInfo.Family;
//             FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
//             diamond = _serverInfo.Gold;
//             bindDiamond = _serverInfo.GoldPaper;
//             copper = _serverInfo.Silver;
//             MapID = _serverInfo.MapID;
//             mainServerMapIdRecord = MapID;
//             PosX = _serverInfo.PosX;
//             PosY = _serverInfo.PosY;
//             FreePoint = _serverInfo.FreePoint;
//             FreeSkillPoint = _serverInfo.FreeSkillPoint;
//             STR = _serverInfo.STR;
//             PNE = _serverInfo.PNE;
//             PHY = _serverInfo.PHY;
//             CON = _serverInfo.CON;
//             Setting = _serverInfo.Setting;
//             FBID = _serverInfo.FBID;
//             ExAttr1 = _serverInfo.ExAttr1;
//             teamAutoOperateFlag = _serverInfo.ExAttr2;
//             dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
//             dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
//             shield = _serverInfo.ExAttr4;
//             CrossServerFlag = _serverInfo.ExAttr5;
//             realmLevel = _serverInfo.OfficialRank;
//             VIPLv = _serverInfo.VIPLv;
//             copperExtend = _serverInfo.ExAttr6;
//             sp = _serverInfo.ExAttr7;
//             spExtend = _serverInfo.ExAttr8;
//             bubbleId = _serverInfo.ExAttr10;
//             ExAttr11 = _serverInfo.ExAttr11;
//             ExAttr16 = _serverInfo.ExAttr16;
//             ServerGroupId = _serverInfo.ExAttr13;
//             faction = _serverInfo.Faction;
//             coinPointTotal = _serverInfo.ChangeCoinPointTotal;
//             equipShowSwitch = _serverInfo.EquipShowSwitch;
//             mapRealmSelect = (int)_serverInfo.ExAttr18;
//             leaveFamilyTime = (int)_serverInfo.ExAttr19;
//             face = (int)_serverInfo.Face;
//             facePic = (int)_serverInfo.FacePic;
// }
//         else
//         {
//             PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
//             MapID = _serverInfo.MapID;
//             dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
//             dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
//             FBID = _serverInfo.FBID;
//             PosX = _serverInfo.PosX;
//             PosY = _serverInfo.PosY;
//         }
//         if (CrossServerUtility.IsCrossServer())
//         {
//             if (_serverInfo.socketType == ServerType.CrossSever)
//             {
//                 HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
//                 AttackMode = _serverInfo.AttackMode;
//             }
//         }
//         else
//         {
//             HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
//             AttackMode = _serverInfo.AttackMode;
//         }
//         if (PlayerDatas.Instance.hero != null)
//         {
//             PlayerDatas.Instance.hero.ActorInfo.familyID = FamilyId;
//             if (CrossServerUtility.IsCrossServer())
//             {
//                 if (_serverInfo.socketType == ServerType.CrossSever)
//                 {
//                     PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP);
//                 }
//             }
//             else
//             {
//                 PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP);
//             }
//         }
    public void UpdateData(H0102_tagCDBPlayer _serverInfo)
    {
        AccID = _serverInfo.AccID;
        PlayerID = _serverInfo.PlayerID;
        PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
        GMLevel = _serverInfo.GMLevel;
        Job = _serverInfo.Job;
        LV = _serverInfo.LV;
        ExpPoint = _serverInfo.ExpPoint;
        TotalExp = _serverInfo.TotalExp;
        FamilyId = _serverInfo.Family;
        FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
        diamond = _serverInfo.Gold;
        bindDiamond = _serverInfo.GoldPaper;
        copper = _serverInfo.Silver;
        MapID = _serverInfo.MapID;
        PosX = _serverInfo.PosX;
        PosY = _serverInfo.PosY;
        FreePoint = _serverInfo.FreePoint;
        FreeSkillPoint = _serverInfo.FreeSkillPoint;
        STR = _serverInfo.STR;
        PNE = _serverInfo.PNE;
        PHY = _serverInfo.PHY;
        CON = _serverInfo.CON;
        Setting = _serverInfo.Setting;
        FBID = _serverInfo.FBID;
        ExAttr1 = _serverInfo.ExAttr1;
        teamAutoOperateFlag = _serverInfo.ExAttr2;
        dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
        dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
        shield = _serverInfo.ExAttr4;
        CrossServerFlag = _serverInfo.ExAttr5;
        realmLevel = _serverInfo.OfficialRank;
        VIPLv = _serverInfo.VIPLv;
        copperExtend = _serverInfo.ExAttr6;
        sp = _serverInfo.ExAttr7;
        spExtend = _serverInfo.ExAttr8;
        bubbleId = _serverInfo.ExAttr10;
        ExAttr11 = _serverInfo.ExAttr11;
        ExAttr16 = _serverInfo.ExAttr16;
        ServerGroupId = _serverInfo.ExAttr13;
        faction = _serverInfo.Faction;
        coinPointTotal = _serverInfo.ChangeCoinPointTotal;
        equipShowSwitch = _serverInfo.EquipShowSwitch;
        mapRealmSelect = (int)_serverInfo.ExAttr18;
        leaveFamilyTime = (int)_serverInfo.ExAttr19;
        face = (int)_serverInfo.Face;
        facePic = (int)_serverInfo.FacePic;
        HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
        AttackMode = _serverInfo.AttackMode;
    }
    // 比如跨服数据更新后,玩家回到本服会同步新数据,需更新
    // 部分情况需要服务端非重登情况下同步所有数据
    public void UpdateData(/*HA112_tagMCDBPlayer serverInfo*/)
    {
        // AccID = serverInfo.AccID;
@@ -250,10 +208,6 @@
        // bindDiamond = serverInfo.GoldPaper;
        // copper = serverInfo.Silver;
        // MapID = serverInfo.MapID;
        // if (serverInfo.socketType == ServerType.Main)
        // {
        //     mainServerMapIdRecord = MapID;
        // }
        // PosX = serverInfo.PosX;
        // PosY = serverInfo.PosY;
        // FreePoint = serverInfo.FreePoint;
Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -6,9 +6,6 @@
public class PlayerDatas : Singleton<PlayerDatas>
{
    // public GA_Hero hero = null;
    // public H0309_tagPlayerLoginInfo loginInfo;
    public uint PlayerId { get { return baseData.PlayerID; } }
    PlayerBaseData m_Base = new PlayerBaseData();
@@ -30,11 +27,9 @@
    public uint worldExpRate { get; private set; }
    public List<uint> maliciousAtkPlayer = new List<uint>();// 发动恶意攻击的玩家列表
    private int m_Tick;
    public uint crossServerTick;
    public uint changeLV = 0; //当前升x级
    public event Action worldLevelUpdateEvent;
    public event Action<E_AttackMode> OnSwitchAttackMode;
    public event Action playerDataUpdateEvent;    // 无区别更新,慎用
    public event Action<PlayerDataType> playerDataRefreshEvent;
@@ -44,13 +39,13 @@
    private Dictionary<PlayerDataType, ulong> PlayerDataDict = new Dictionary<PlayerDataType, ulong>();
    public void InitPlayerData(/*H0102_tagCDBPlayer data*/)
    {
        // baseData.UpdateData(data);
        // if (playerDataUpdateEvent != null)
        // {
        //     playerDataUpdateEvent();
        // }
    public void InitPlayerData(H0102_tagCDBPlayer data)
    {
        baseData.UpdateData(data);
        if (playerDataUpdateEvent != null)
        {
            playerDataUpdateEvent();
        }
    }
    public void UpdatePlayerData(/*HA112_tagMCDBPlayer data*/)
@@ -70,7 +65,7 @@
    public void FightRefreshPlayerHp(ulong hp)
    {
        RefreshProperty(false, PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue));
        RefreshProperty(PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue));
        if (playerDataUpdateEvent != null)
        {
@@ -153,7 +148,7 @@
        // }
    }
    public void RefreshProperty(bool isMainServerData, PlayerDataType _type, uint value, uint valueEx)
    public void RefreshProperty(PlayerDataType _type, uint value, uint valueEx)
    {
        switch (_type)
        {
@@ -240,10 +235,6 @@
                break;
            case PlayerDataType.MapID:
                baseData.MapID = (ushort)value;
                if (isMainServerData)
                {
                    baseData.mainServerMapIdRecord = baseData.MapID;
                }
                break;
            case PlayerDataType.PosX:
                baseData.PosX = (ushort)value;//角色坐标x
@@ -262,17 +253,7 @@
                // }
                break;
            case PlayerDataType.HP:
                if (CrossServerUtility.IsCrossServer())
                {
                    if (!isMainServerData)
                    {
                        baseData.HP = value + valueEx * Constants.ExpPointValue;
                    }
                }
                else
                {
                    baseData.HP = value + valueEx * Constants.ExpPointValue;
                }
                baseData.HP = value + valueEx * Constants.ExpPointValue;
                break;
            case PlayerDataType.MaxMP:
                extersion.MaxMP = (int)value;
@@ -420,42 +401,19 @@
                break;
            case PlayerDataType.Tick:
#if UNITY_EDITOR
                Debug.LogFormat("---- 收到服务端Tick: {0}", value);
                if (isMainServerData)
                {
                    if (extersion.Tick != 0)
                    {
                        uint _curWorldTick = GetWorldTick();
                        uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                        Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                        if (_diffValue > 5000)
                        {
                            Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                        }
                    }
                }
                else
                {
                    if (crossServerTick != 0)
                    {
                        uint _curWorldTick = GetWorldTick();
                        uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                        Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                        if (_diffValue > 5000)
                        {
                            Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                        }
                    }
                Debug.LogFormat("---- 收到服务端Tick: {0}", value);
                if (extersion.Tick != 0)
                {
                    uint _curWorldTick = GetWorldTick();
                    uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                    Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                    if (_diffValue > 5000)
                    {
                        Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                    }
                }
#endif
                if (isMainServerData)
                {
                    extersion.Tick = value;
                }
                else
                {
                    crossServerTick = value;
                }
                extersion.Tick = value;
                m_Tick = Environment.TickCount;
                break;
@@ -552,7 +510,6 @@
                //             toLineId = 0,
                //             needEmpty = true,
                //             needLoadResource = true,
                //             serverType = ServerType.CrossSever,
                //             isClientLoadMap = true,
                //             refreshPlayerDatas = true
                //         });
@@ -1023,42 +980,25 @@
    }
    public void RequestWorldTick()
    {
        // TODO YYL
        // CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
        // if (CrossServerUtility.IsCrossServer())
        // {
        //     GameNetSystem.Instance.SendToCrossServer(_proto);
        // }
        // else
        // {
        //     GameNetSystem.Instance.SendInfo(_proto);
        // }
    {
        CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
        GameNetSystem.Instance.SendInfo(_proto);
    }
    public void ClearTick()
    {
        extersion.Tick = 0;
        crossServerTick = 0;
    }
    public bool IsTickVaild()
    {
        if (CrossServerUtility.IsCrossServer())
        {
            return crossServerTick != 0;
        }
        else
        {
            return extersion.Tick != 0;
        }
        return extersion.Tick != 0;
    }
    public uint GetWorldTick()
    {
        int _currentTick = Environment.TickCount - m_Tick;
        uint _tick = CrossServerUtility.IsCrossServer() ? crossServerTick + (uint)_currentTick : extersion.Tick + (uint)_currentTick;
        return _tick;
        return extersion.Tick + (uint)_currentTick;
    }
}
Main/Core/NetworkPackage/ClientPack/C01_System.meta
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: 0869bd0dc981b8f4e96424b43b208245
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs
Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs.meta
Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs
Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs.meta
Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
//01 04 在线回应#tagCOnlineReturn
public class C0104_tagCOnlineReturn : GameNetPackBasic {
    public byte Type;
    public C0104_tagCOnlineReturn () {
        _cmd = (ushort)0x0104;
    }
    public override void WriteToBytes () {
        WriteBytes (Type, NetDataType.BYTE);
    }
}
Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: ca560a4f998f8c649aaca0c4cfbc5d9f
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs
Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs.meta
Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs
Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: 3b477c09701b7584aaa186cbccbd235f
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs
Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 469410eba7e70e941b0d9b85b3b3e4f4
guid: a858450df5d422740b19c51034778673
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs
Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta
Main/Core/NetworkPackage/ClientPack/C32_GM.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/C32_GM.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: c14b710f6eb30e84494476e6f7028291
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs
Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs.meta
Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: 096e4386fc35e264ebe8988587dab6f6
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs
New file
@@ -0,0 +1,16 @@
using UnityEngine;
using System.Collections;
//A0 02 客户端请求服务端时间 #tagClientRequestServerTime
public class CA002_tagClientRequestServerTime : GameNetPackBasic {
    public CA002_tagClientRequestServerTime () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA002;
    }
    public override void WriteToBytes () {
    }
}
Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: 34075a1d63e2ff849a530e8842e77eea
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: bc7998669a0f29148b16694ea94eca0f
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs
New file
@@ -0,0 +1,16 @@
using UnityEngine;
using System.Collections;
//A1 02 请求服务器tick # tagCMWorldTick
public class CA102_tagCMWorldTick : GameNetPackBasic {
    public CA102_tagCMWorldTick () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA102;
    }
    public override void WriteToBytes () {
    }
}
Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: 06038a6adc8c58e48880f507960c3ddf
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta
File was renamed from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ed9b5fa1622097949b83432deb77a9e4
guid: 18445f0278563f843a92e563baf0af86
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs
Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta
Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: 593551fbac39e7b48832f122838f5b3b
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs
Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta
Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: fff4817cc97d09c49ac483a0f4f671c7
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs
Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs.meta
Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta copy to Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e929ce1c208223b48bb495610e82ee08
guid: 67d426a6cf113fc41b5baff5550cf497
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs
Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToMapServer.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item.meta
File was deleted
Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function.meta
File was deleted
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs
New file
@@ -0,0 +1,12 @@
using UnityEngine;
using System.Collections;
//01 01 服务器InitOK#tagServerPrepared
public class DTC0101_tagServerPrepared : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        H0101_tagServerPrepared vNetData = vNetPack as H0101_tagServerPrepared;
        LoginManager.Instance.AccessLogin(vNetData);
    }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: 1ace3e0e3e71848409831d24c1786c38
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -19,240 +19,45 @@
        var package = vNetPack as H0102_tagCDBPlayer;
        // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0102", DateTime.Now);
        DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
        // MapTransferUtility.Instance.lastMoveToWorldBossTime = float.MinValue;
        // MapTransferUtility.Instance.lastMoveToWorldBossNpcID = 0;
        if (package.socketType == ServerType.Main)
        if (beforePlayerDataInitializeEvent != null)
        {
            DTC0403_tagPlayerLoginLoadOK.neverLoginOk = true;
            beforePlayerDataInitializeEvent();
        }
        if (package.socketType == ServerType.Main)
        try
        {
            if (beforePlayerDataInitializeEvent != null)
            {
                beforePlayerDataInitializeEvent();
            }
            try
            {
                RedpointCenter.Instance.ResetAllRedpointState();
                PlayerDatas.Instance.ClearPlayerData();
            }
            catch (Exception ex)
            {
                Debug.LogError(ex);
            }
            RedpointCenter.Instance.ResetAllRedpointState();
            PlayerDatas.Instance.ClearPlayerData();
        }
        catch (Exception ex)
        {
            Debug.LogError(ex);
        }
        // GA_Hero.recordServerPos = new Vector3(package.PosX, 0, package.PosY);
        // PlayerDatas.Instance.InitPlayerData(package);
        // PlayerDatas.Instance.RequestWorldTick();
        PlayerDatas.Instance.InitPlayerData(package);
        PlayerDatas.Instance.RequestWorldTick();
        if (package.socketType == ServerType.Main)
        if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
        {
            if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
            if (switchAccountEvent != null)
            {
                if (switchAccountEvent != null)
                {
                    switchAccountEvent();
                }
            }
            playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
            if (afterPlayerDataInitializeEvent != null)
            {
                afterPlayerDataInitializeEvent();
                isAfterPlayerDataInitialize = true;
                switchAccountEvent();
            }
        }
        // int fakeMapID = (int)package.ExAttr14 / 1000;
        // int fakeLineID = (int)package.ExAttr14 % 1000;
        // var clientDungeonInfo = new Dungeon()
        // {
        //     mapId = fakeMapID,
        //     lineId = fakeLineID,
        // };
        playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
        if (afterPlayerDataInitializeEvent != null)
        {
            afterPlayerDataInitializeEvent();
            isAfterPlayerDataInitialize = true;
        }
        //同步假副本 单人副本存在假副本,和服务端1对客户端多地图同分线情况
        // if (fakeLineID != 0)
        //     PlayerDatas.Instance.baseData.dungeonLineId = fakeLineID;
        // if (fakeMapID != 0)
        //     PlayerDatas.Instance.baseData.dungeonMapId = fakeMapID;
        // if (ArenaModel.Instance.CheckArenaComplete(clientDungeonInfo.mapId))
        // {
        //     clientDungeonInfo.mapId = 0;
        // }
        // if (ClientDungeonStageUtility.isClientDungeon)
        // {
        //     PlayerDatas.Instance.baseData.MapID = ClientDungeonStageUtility.clientMapId;
        // }
        // else
        // {
        //     if (clientDungeonInfo.mapId != 0 )
        //     {
        //         var clientMapId = ClientDungeonStageUtility.GetClientMapId(clientDungeonInfo.mapId);
        //         if (clientMapId != 0)
        //         {
        //             ClientDungeonStageUtility.SetClientDungeon(true, (ushort)clientMapId);
        //             ClientDungeonStageUtility.dungeonInfo = clientDungeonInfo;
        //             PlayerDatas.Instance.baseData.MapID = (ushort)clientMapId;
        //         }
        //     }
        // }
        // 转移到登陆时通知的创角时间包
        // if (package.socketType == ServerType.Main)
        // {
        //     ynmbxxjUtil.Instance.RoleLogin(package.PlayerID.ToString(),
        //                                   package.PlayerName.Trim().Replace("\0", ""),
        //                                   package.LV.ToString(),
        //                                   package.VIPLv.ToString());
        // }
        // var mapId = PlayerDatas.Instance.baseData.MapID;
        // var dataMapId = MapUtility.GetDataMapId(mapId);
        // var lineId = MapUtility.GetLineId(mapId, (int)package.ExAttr3%1000);
        // var mapResourceConfig = MapResourcesConfig.GetConfig(dataMapId, lineId);
        // if (mapResourceConfig != null)
        // {
        //     GA_Hero.MapOffset.x = mapResourceConfig.MapOffset.x;
        //     GA_Hero.MapOffset.z = mapResourceConfig.MapOffset.y;
        // }
        // else
        // {
        //     GA_Hero.MapOffset.x = 0;
        //     GA_Hero.MapOffset.z = 0;
        // }
        // var mapConfig = MapConfig.Get(mapId);
        // DungeonStage.CurrentMapType = (MapType)mapConfig.MapFBType;
        // if (DungeonStage.CurrentMapType != MapType.OpenCountry)
        // {
        //     var dungeonOpen = DungeonOpenTimeConfig.Get(dataMapId);
        //     if (dungeonOpen != null)
        //     {
        //         if (dungeonOpen.DoFight == 1)
        //         {
        //             GA_Hero.forceAutoFight = true;
        //         }
        //     }
        // }
        // if (package.socketType == ServerType.CrossSever)
        // {
        //     if (PlayerDatas.Instance.hero != null)
        //     {
        //         PlayerDatas.Instance.hero.ActorInfo.recordServerDie = PlayerDatas.Instance.hero.ActorInfo.serverDie;
        //     }
        // }
        // DTCA713_tagMCDynamicBarrierState.Clear();
        // MainRedDot.Instance.Register();
        // SettingEffectMgr.Instance.Begin();
        // if (vNetPack.socketType == ServerType.Main)
        // {
        //     QuickSetting.Instance.SetQuickSetting(package.Setting);
        //     SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
        // }
        // ClientSceneManager.Instance.ReConnectClear();
        // // 初始化摄像机
        // if (!CameraController.Instance)
        // {
        //     var prefab = UnityEngine.Object.Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
        //     CameraController.Instance.SetcamerePrefab(prefab);
        //     CameraController.Instance.AcceptInput = false;
        //     CameraController.Instance.CameraObject.enabled = false;
        //     CameraController.Instance.QualityLevelChanged();
        // }
        // var hudRoot = HUDCenter.hudRoot;
        // if (!hudRoot)
        // {
        //     hudRoot = HUDCenter.CreateHUDRoot();
        //     hudRoot.SetCamera(CameraController.Instance.CameraObject);
        // }
        // DropItemManager.ReleaseAll();
        // ClientDropItemUtility.Instance.ReleaseAll();
        // StatusMgr.Instance.ReleaseActor(PlayerDatas.Instance.PlayerId);
        // var hero = PlayerDatas.Instance.hero;
        // if (hero == null)
        // {
        //     hero = GAMgr.Instance.RequestPlayer<GA_Hero>(PlayerDatas.Instance.PlayerId, E_ActorGroup.User, null);
        //     PlayerDatas.Instance.hero = hero;
        // }
        // else // 重连
        // {
        //     if (PreFightMission.Instance.IsFinished())
        //     {
        //         hero.StopAll();
        //         if (!AdventureStage.Instance.IsInAdventureStage)
        //         {
        //             hero.InitBornPos(package.PosX, package.PosY);
        //         }
        //         hero.RequestName();
        //         hero.ActorInfo.serverDie = false;
        //         hero.IdleImmediate();
        //     }
        // }
        // if (!ClientDungeonStageUtility.isClientDungeon
        //  && !ArenaManager.IsArenaClientNotMirrorFight)
        // {
        //     GAMgr.Instance.UnInit();
        // }
        // hero.OnPathFindStop -= MapTransferUtility.Instance.OnHeroStopPathFind;
        // hero.OnPathFindStop += MapTransferUtility.Instance.OnHeroStopPathFind;
        // GA_Hero.s_MapSwitching = true;
        // if (DebugUtility.Instance.debugAccount)
        // {
        //     GMCommand.Instance.Begin();
        // }
    //     if (package.socketType == ServerType.Main
    // && GameNetSystem.Instance.crossServerData.crossState == GameNetSystem.CrossServerState.Yes)
    //     {
    //         StageLoad.Instance.UpdateServerFlag(package.socketType, false);
    //         StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
    //         {
    //             toMapId = mapId,
    //             toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
    //             needEmpty = true,
    //             needLoadResource = false,
    //             serverType = package.socketType,
    //             isClientLoadMap = false
    //         });
    //         var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
    //         var account = loginModel.accountBuf;
    //         var ip = GameNetSystem.Instance.crossServerData.ip;
    //         var port = GameNetSystem.Instance.crossServerData.port;
    //         CrossServerLogin.Instance.AccountLogin(account, ip, port, loginModel.reconnectBackGround);
    //     }
    //     else
    //     {
    //         StageLoad.Instance.UpdateServerFlag(package.socketType, false);
    //         StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
    //         {
    //             toMapId = mapId,
    //             toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
    //             needEmpty = true,
    //             needLoadResource = true,
    //             serverType = package.socketType,
    //             isClientLoadMap = false
    //         });
    //     }
        MainRedDot.Instance.Register();
        //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
    }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs
New file
@@ -0,0 +1,38 @@
using UnityEngine;
using System.Collections;
using System;
//01 04 断线#tagServerDisconnect
public class DTC0104_tagServerDisconnect : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        H0104_tagServerDisconnect vNetData = vNetPack as H0104_tagServerDisconnect;
        try
        {
            Debug.Log("DTC0104_tagServerDisconnect" + vNetData.Reason);
            //ServerForceExitHintWin.reason = vNetData.Reason;
            LoginManager.Instance.busy = false;
            if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
            {
                if (vNetData.Reason == 1 || vNetData.Reason == 110)
                {
                    SDKUtils.Instance.FreePlatformLoginout();
                    LoginManager.Instance.sdkLogined = false;
                }
                else
                    GameNetSystem.Instance.LoginOut();
            }
            else
                GameNetSystem.Instance.LoginOut();
            NetLinkWin.Hide();
        }
        catch (Exception ex)
        {
            Debug.Log(ex);
        }
    }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: d961703bb42f8da48bedccac968f1d8f
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
@@ -5,119 +5,42 @@
public class DTC0403_tagPlayerLoginLoadOK : DtcBasic
{
    public static bool neverLoginOk = true;
    public static bool finishedLogin = false;
    public static event Action playerLoginOkEvent;
    public static event Action mapInitOkEvent;
    // LoginModel loginModel { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
    //public static event Action mapInitOkEvent; 服务端通知场景切换成功
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var vNetData = vNetPack as H0403_tagPlayerLoginLoadOK;
        // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0403", DateTime.Now);
        GameNetSystem.Instance.netState = GameNetSystem.NetState.Connected;
        NetLinkWin.Hide();
        if (LoginManager.Instance.reconnectBackGround)
        {
            UIManager.Instance.CloseWindow<LoadingWin>();
        }
        LoginManager.Instance.reconnectBackGround = false;
        if (!finishedLogin)
        {
            //服务端每次切场景都会通知这个封包, 增加首次地图登录成功事件(如果服务端存在多场景切换的情况)
            playerLoginOkEvent?.Invoke();
            StageManager.Instance.ToGameScene();
            Main.OnEnterGameScene();
        }
        finishedLogin = true;
        // GA_Hero.s_MapSwitching = false;
        // NetLinkWin.Hide();
        // if (loginModel.reconnectBackGround)
        // {
        //     WindowCenter.Instance.Close<LoadingWin>();
        // }
        switch (vNetData.socketType)
        {
            // case ServerType.Main:
            //     loginModel.reconnectBackGround = false;
            //     break;
            // case ServerType.CrossSever:
            //     GameNetSystem.Instance.crossServerConnected_Loigc = true;
            //     CrossServerLogin.Instance.reconnectBackGround = false;
            //     CrossServerLogin.Instance.StopLoginOverTimeProcess();
            //     break;
            default:
                break;
        }
        if (neverLoginOk)
        {
            try
            {
                if (vNetData.socketType == ServerType.Main)
                {
                    if (playerLoginOkEvent != null)
                    {
                        playerLoginOkEvent();
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.Log(ex);
            }
            finally
            {
                neverLoginOk = false;
            }
        }
        if (mapInitOkEvent != null)
        {
            mapInitOkEvent();
        }
        //if (mapInitOkEvent != null)
        //{
        //    mapInitOkEvent();
        //}
        //�е�ͼ����pk boss״̬
        PlayerDatas.Instance.extersion.bossState = 2;
        PlayerDatas.Instance.extersion.pkState = 2;
        // if (PlayerDatas.Instance.hero != null)
        // {
        //     if (CameraController.Instance)
        //     {
        //         CameraController.Instance.SetLookTarget(PlayerDatas.Instance.hero.Root);
        //     }
        // }
        // MapTransferUtility.Instance.CheckMap(PlayerDatas.Instance.baseData.MapID);
        // if (MapTransferUtility.Instance.MapTransferDoType == MapTransferUtility.E_MapTransferDoType.Npc)
        // {
        //     MapTransferUtility.Instance.MoveToNPC(MapTransferUtility.Instance.NpcID);
        // }
        //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
        // SnxxzGame.Instance.StartCoroutine(DelayHandleMapArea());
    }
    // IEnumerator DelayHandleMapArea()
    // {
    //     yield return WaitingForSecondConst.WaitMS500;
    //     if (PlayerDatas.Instance.hero == null)
    //     {
    //         yield break;
    //     }
    //     var pack = ModelCenter.Instance.GetModel<PackModel>();
    //     var equipIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)RoleEquipType.Guard));
    //     var _itemModel = pack.GetItemByIndex(PackType.Equip, equipIndex);
    //     if (_itemModel != null && _itemModel.itemInfo != null)
    //     {
    //         PlayerDatas.Instance.hero.SwitchGuard((uint)_itemModel.itemId);
    //     }
    //     bool _result = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);
    //     if (MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss))
    //     {
    //         PlayerDatas.Instance.hero.EnterArea((int)MapArea.E_Type.Boss);
    //     }
    // }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ed9b5fa1622097949b83432deb77a9e4
guid: 03821ffb5f50f15489d3ec5c6271d04a
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs
New file
@@ -0,0 +1,12 @@
using UnityEngine;
using System.Collections;
//A0 04 同步客户端时间 #tagServerDateTime
public class DTCA004_tagServerDateTime : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA004_tagServerDateTime vNetData = vNetPack as HA004_tagServerDateTime;
        TimeUtility.OnRefreshServerTime(vNetData);
    }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: 1e1c8b63145162946a98cfb842bf9d2c
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs
New file
@@ -0,0 +1,12 @@
using UnityEngine;
using System.Collections;
//A0 05 同步开服天数 #tagOpenServerDay
public class DTCA005_tagOpenServerDay : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA005_tagOpenServerDay vNetData = vNetPack as HA005_tagOpenServerDay;
        TimeUtility.OnRefreshServerOpenDay(vNetData);
    }
}
Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: 976f30f367b23fb4d9860a66b989954e
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs
File was deleted
Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs.meta
File was deleted
Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs
@@ -42,13 +42,11 @@
            return;
        }
        if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD
            || (GameNetSystem.Instance.crossServerConnected_Loigc && GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD))
        if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD)
        {
            DetectConnected(3);
        }
        else if (!GameNetSystem.Instance.mainSocketConnected
            || (GameNetSystem.Instance.crossServerConnected_Loigc && !GameNetSystem.Instance.crossServerSocketConnected))
        else if (!GameNetSystem.Instance.mainSocketConnected)
        {
            DetectConnected(3);
        }
@@ -75,24 +73,17 @@
    private void DetectConnected(int _seconds)
    {
        connectedDetecting = true;
        // var sendInfo1 = new C0104_tagCOnlineReturn();
        // sendInfo1.Type = 0;
        // GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应
        // if (GameNetSystem.Instance.crossServerConnected_Loigc)
        // {
        //     var sendInfo2 = new C0104_tagCOnlineReturn();
        //     sendInfo2.Type = 0;
        //     GameNetSystem.Instance.SendToCrossServer(sendInfo2);// 在线回应
        // }
        // if (clock != null)
        // {
        //     Clock.Stop(clock);
        // }
        // clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
        connectedDetecting = true;
        var sendInfo1 = new C0104_tagCOnlineReturn();
        sendInfo1.Type = 0;
        GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应
        if (clock != null)
        {
            Clock.Stop(clock);
        }
        clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
    }
    private void OnDetectEnd()
@@ -107,15 +98,6 @@
            || GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD;
#endif
        if (GameNetSystem.Instance.crossServerConnected_Loigc)
        {
#if UNITY_IOS && !UNITY_EDITOR
            isDisconnected = isDisconnected || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > 3f;
#else
            isDisconnected = isDisconnected || !GameNetSystem.Instance.crossServerSocketConnected
                || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD;
#endif
        }
        if (isDisconnected)
        {
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -30,8 +30,14 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        // Register(typeof(HA328_tagMCHistoryReChargeAwardRecord), typeof(DTCA328_tagMCHistoryReChargeAwardRecord));
        Register(typeof(H0102_tagCDBPlayer), typeof(DTC0102_tagCDBPlayer));
        Register(typeof(HA004_tagServerDateTime), typeof(DTCA004_tagServerDateTime));
        Register(typeof(HA005_tagOpenServerDay), typeof(DTCA005_tagOpenServerDay));
        Register(typeof(H0403_tagPlayerLoginLoadOK), typeof(DTC0403_tagPlayerLoginLoadOK));
        Register(typeof(H0101_tagServerPrepared), typeof(DTC0101_tagServerPrepared));
        Register(typeof(H0104_tagServerDisconnect), typeof(DTC0104_tagServerDisconnect));
    }
Main/Core/NetworkPackage/GameNetPackBasic.cs
@@ -8,7 +8,7 @@
public class GameNetPackBasic
{
    public ServerType socketType = ServerType.Main;
    public ServerType socketType = ServerType.Main; //默认且唯一
    /** 协议号 */
    protected ushort _cmd = 0;
Main/Core/NetworkPackage/GameNetSystem.cs
@@ -6,7 +6,7 @@
public class GameNetSystem : Singleton<GameNetSystem>
{
    // NetUpdateBehaviour m_NetUpdateBehaviour;
    NetUpdateBehaviour m_NetUpdateBehaviour;
    NeverConnectState neverConnectState;
    AccountLoginState accountLoginState;
    // CreateOrSelectRoleState createOrSelectRoleState;
@@ -78,26 +78,16 @@
        get { return mainSocket == null ? Time.time : (float)(DateTime.Now - mainSocket.lastPackageTime).TotalSeconds; }
    }
    public bool crossServerConnected_Loigc { get; set; }
    private ClientSocket crossServerSocket;
    public bool crossServerSocketConnected { get { return crossServerConnected_Loigc && (crossServerSocket == null ? false : crossServerSocket.connected); } }
    public float timeSinceCrossServerSocketLastProtocol
    {
        get { return crossServerSocket == null ? Time.time : (float)(DateTime.Now - crossServerSocket.lastPackageTime).TotalSeconds; }
    }
    Queue<GameNetPackBasic> mainProtocolQueue = new Queue<GameNetPackBasic>();
    Queue<GameNetPackBasic> crossSeverProtocolQueue = new Queue<GameNetPackBasic>();
    public CrossServerData crossServerData { get; private set; }
    public GameNetSystem()
    {
        var gameObject = new GameObject("NetUpdateBehaviour");
        GameObject.DontDestroyOnLoad(gameObject);
        // m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
        // m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
        GameObject.DontDestroyOnLoad(gameObject);
        m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
        m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
        neverConnectState = gameObject.AddComponent<NeverConnectState>();
        accountLoginState = gameObject.AddComponent<AccountLoginState>();
@@ -135,41 +125,6 @@
        });
    }
    public void BeginConnectCrossServer(string ip, int port, Action<bool> onConnected)
    {
        try
        {
            crossServerConnected_Loigc = false;
            if (crossServerSocketConnected)
            {
                crossServerSocket.CloseConnect();
            }
        }
        catch (System.Exception ex)
        {
            Debug.Log(ex);
        }
        crossServerSocket = new ClientSocket(ServerType.CrossSever);
        crossSeverProtocolQueue.Clear();
        this.crossServerSocket.Connect(ip, port, (bool ok) =>
        {
            if (onConnected != null)
            {
                onConnected(ok);
            }
        });
    }
    public void UpdateCrossServerData(string ip, int port, byte state)
    {
        this.crossServerData = new CrossServerData(ip, port, state);
        if (this.crossServerData.crossState == 0)
        {
            crossServerConnected_Loigc = false;
        }
    }
    public void SendInfo(GameNetPackBasic protocol)
    {
        if (mainSocket != null)
@@ -187,15 +142,6 @@
        }
    }
    public void SendToCrossServer(GameNetPackBasic protocol)
    {
        if (crossServerSocket != null)
        {
            protocol.socketType = ServerType.CrossSever;
            crossServerSocket.SendInfo(protocol);
            DebugPkgCache.Push(protocol);
        }
    }
    public void PushPackage(GameNetPackBasic protocol, ServerType type)
    {
@@ -208,17 +154,7 @@
            if (PackageRegedit.Contain(protocol.cmd))
            {
                switch (type)
                {
                    case ServerType.Main:
                        mainProtocolQueue.Enqueue(protocol);
                        break;
                    case ServerType.CrossSever:
                        crossSeverProtocolQueue.Enqueue(protocol);
                        break;
                    default:
                        break;
                }
                mainProtocolQueue.Enqueue(protocol);
                DebugPkgCache.Push(protocol);
            }
@@ -238,13 +174,7 @@
                mainSocket.CloseConnect();
            }
            if (crossServerSocket != null)
            {
                crossServerSocket.CloseConnect();
            }
            mainProtocolQueue.Clear();
            crossSeverProtocolQueue.Clear();
        }
        catch (Exception ex)
        {
@@ -255,30 +185,10 @@
            netState = NetState.DisConnected;
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            // CrossServerLogin.Instance.busy = false;
        }
    }
    public void DisconnectCrossServer()
    {
        try
        {
            if (crossServerSocket != null)
            {
                crossServerSocket.CloseConnect();
            }
            crossSeverProtocolQueue.Clear();
        }
        catch (Exception ex)
        {
            Debug.Log(ex);
        }
        finally
        {
            // CrossServerLogin.Instance.busy = false;
        }
    }
    public void Reconnect()
    {
@@ -289,13 +199,7 @@
                mainSocket.CloseConnect();
            }
            if (crossServerSocket != null)
            {
                crossServerSocket.CloseConnect();
            }
            mainProtocolQueue.Clear();
            crossSeverProtocolQueue.Clear();
        }
        catch (Exception ex)
        {
@@ -304,7 +208,6 @@
        finally
        {
            netState = NetState.AccountLogin;
            // CrossServerLogin.Instance.busy = false;
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            // loginModel.ReAccountLogin();
@@ -320,20 +223,13 @@
        try
        {
            // ynmbxxjUtil.Instance.RoleLoginOut();
            crossServerConnected_Loigc = false;
            if (mainSocket != null)
            {
                mainSocket.CloseConnect();
            }
            if (crossServerSocket != null)
            {
                crossServerSocket.CloseConnect();
            }
            mainProtocolQueue.Clear();
            crossSeverProtocolQueue.Clear();
        }
        catch (Exception ex)
        {
@@ -344,11 +240,8 @@
            netState = NetState.NerverConnect;
            // TODO YYL
            // CrossServerLogin.Instance.busy = false;
            // //ArenaManager.isArenaClient = false;
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            // WindowJumpMgr.Instance.ClearJumpData();
            // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            // {
@@ -395,14 +288,6 @@
                    PackageRegedit.Distribute(package);
                }
            }
            while (crossSeverProtocolQueue.Count > 0)
            {
                var package = crossSeverProtocolQueue.Dequeue();
                if (package != null)
                {
                    PackageRegedit.Distribute(package);
                }
            }
        }
    }
@@ -417,31 +302,10 @@
        DisConnected = 6,
    }
    public struct CrossServerData
    {
        public string ip;
        public int port;
        public CrossServerState crossState;
        public CrossServerData(string ip, int port, byte state)
        {
            this.ip = ip;
            this.port = port;
            this.crossState = (CrossServerState)state;
        }
    }
    public enum CrossServerState
    {
        No = 0,
        Yes = 1,
        Error = 2,
    }
}
public enum ServerType
{
    Main = 1,
    CrossSever = 2,
}
Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs
@@ -1,31 +1,17 @@
using UnityEngine;
using System.Collections;
//01 01 服务器InitOK#tagServerPrepared
public class H0101_tagServerPrepared : GameNetPackBasic {
    public uint Version;
    public H0101_tagServerPrepared () {
        _cmd = (ushort)0x0101;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Version, vBytes, NetDataType.DWORD);
    }
}
//01 01 服务器InitOK#tagServerPrepared
public class H0101_tagServerPrepared : GameNetPackBasic {
    public uint Version;
    public H0101_tagServerPrepared () {
        _cmd = (ushort)0x0101;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Version, vBytes, NetDataType.DWORD);
    }
}
Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
//01 04 断线#tagServerDisconnect
public class H0104_tagServerDisconnect : GameNetPackBasic {
    public byte Reason;
    public H0104_tagServerDisconnect () {
        _cmd = (ushort)0x0104;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Reason, vBytes, NetDataType.BYTE);
    }
}
Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: e506b2c33da96614a9cb666794a198f3
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
File was copied from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ed9b5fa1622097949b83432deb77a9e4
guid: aaafdaa480fd07d4eb6371347a79a2f4
folderAsset: yes
DefaultImporter:
  externalObjects: {}
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs
New file
@@ -0,0 +1,31 @@
using UnityEngine;
using System.Collections;
//A0 04 同步客户端时间 #tagServerDateTime
public class HA004_tagServerDateTime : GameNetPackBasic {
    public ushort Year;
    public byte Month;
    public byte Day;
    public byte Hour;
    public byte Minute;
    public byte Second;
    public uint MicSecond;
    public string CrossServerTime;
    public HA004_tagServerDateTime () {
        _cmd = (ushort)0xA004;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Year, vBytes, NetDataType.WORD);
        TransBytes (out Month, vBytes, NetDataType.BYTE);
        TransBytes (out Day, vBytes, NetDataType.BYTE);
        TransBytes (out Hour, vBytes, NetDataType.BYTE);
        TransBytes (out Minute, vBytes, NetDataType.BYTE);
        TransBytes (out Second, vBytes, NetDataType.BYTE);
        TransBytes (out MicSecond, vBytes, NetDataType.DWORD);
        TransBytes (out CrossServerTime, vBytes, NetDataType.Chars, 19);
    }
}
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
File was copied from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: e449a4ea5559fa240a8d421daa3511fb
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs
New file
@@ -0,0 +1,39 @@
using UnityEngine;
using System.Collections;
//A0 05 同步开服天数 #tagOpenServerDay
public class HA005_tagOpenServerDay : GameNetPackBasic {
    public ushort Day;    // 已开服天数,从0开始
    public byte IsMixServer;    //是否是合服服务器
    public ushort MixDay;    // 已合服天数,从0开始
    public byte OpenWeekday;    //开服是周几,1代表周一
    public ushort NowYear;    //服务器当前时间 - 年
    public byte NowMonth;
    public byte NowDay;
    public byte NowHour;
    public byte NowMinute;
    public byte NowSecond;
    public uint NowMicSecond;
    public byte WeekOfYear;    //一年中的第几周
    public HA005_tagOpenServerDay () {
        _cmd = (ushort)0xA005;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Day, vBytes, NetDataType.WORD);
        TransBytes (out IsMixServer, vBytes, NetDataType.BYTE);
        TransBytes (out MixDay, vBytes, NetDataType.WORD);
        TransBytes (out OpenWeekday, vBytes, NetDataType.BYTE);
        TransBytes (out NowYear, vBytes, NetDataType.WORD);
        TransBytes (out NowMonth, vBytes, NetDataType.BYTE);
        TransBytes (out NowDay, vBytes, NetDataType.BYTE);
        TransBytes (out NowHour, vBytes, NetDataType.BYTE);
        TransBytes (out NowMinute, vBytes, NetDataType.BYTE);
        TransBytes (out NowSecond, vBytes, NetDataType.BYTE);
        TransBytes (out NowMicSecond, vBytes, NetDataType.DWORD);
        TransBytes (out WeekOfYear, vBytes, NetDataType.BYTE);
    }
}
Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta
File was renamed from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1b563b4d32b55f343a54a3a82a948885
guid: a6484a8278af59643850fd9225f7338d
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs
File was deleted
Main/Main.cs
@@ -52,6 +52,8 @@
            manager.RequestNessaryData();
        }
        UIManager.Instance.CloseWindow<LaunchBackGroundWin>();
        UIManager.Instance.CloseWindow<LoginWin>();
    }
    public static void OnSwitchToLoginScene()
Main/Manager/StageManager.cs
@@ -41,7 +41,7 @@
        Main.OnSwitchToLoginScene();
        currentStage = StageName.Login;
        UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
        UIManager.Instance.OpenWindow<LoginWin>();
    }
Main/Manager/UIManager.cs
@@ -529,7 +529,7 @@
                return layerCompare;
                
            // 同层级内,按照栈中的顺序排序
            return Array.IndexOf(uiArray, a).CompareTo(Array.IndexOf(uiArray, b));
            return Array.IndexOf(uiArray, b).CompareTo(Array.IndexOf(uiArray, a));
        });
        
        // 遍历排序后的UI数组,设置排序顺序
Main/SDK/SDKUtils.cs
@@ -18,23 +18,9 @@
    public enum E_ChannelPlatform
    {
        Free = 1,// 自由
        Mr = 2,// 猫耳
        Sp = 3,// 思璞
        Js = 4,// 极速
        Yj = 5,// 易接
        Yl = 6,// 易乐
        Xn = 7,// 小牛
        Cjm = 8,// 超级梦
        Ky = 9,//恺英
        Free = 1,// 默认
        Quick = 10, //quick
        SanXia = 11, //三峡(港台使用)
        SanXiaiOS = 12, //三峡 (港台ios使用)
        Hy = 15, //欢游
        hygt = 16, //欢游港台
        mlgt = 17, //咪噜港台
        newyn = 19, //新的越南(欢游0.1)
        en = 20, //英文版
    }
    //权限申请回调
@@ -388,55 +374,8 @@
        var _result = "default";
        switch (Application.platform)
        {
            case RuntimePlatform.Android:
                if (ChannelPlatform == E_ChannelPlatform.Sp)
                {
                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.sp.sdk.utils.SDKManagerUtils"))
                    {
                        using (AndroidJavaObject _jo = _jc.CallStatic<AndroidJavaObject>("getAssetPropConfig", GetApplicationContext(), "plugin_config.properties"))
                        {
                            _result = _jo.Call<string>("get", "game_id");
                        }
                    }
                }
                else if (ChannelPlatform == E_ChannelPlatform.Mr)
                {
                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil"))
                    {
                        _result = _jc.CallStatic<string>("getMetaString", "Mr_GAME_ID");
                    }
                }
                else if (ChannelPlatform == E_ChannelPlatform.Js)
                {
                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil"))
                    {
                        _result = _jc.CallStatic<string>("getMetaString", "LL_APPID");
                    }
                }
                else if (ChannelPlatform == E_ChannelPlatform.Free)
                {
                    _result = "freeplatform";
                }
                else if (ChannelPlatform == E_ChannelPlatform.Yl)
                {
                    _result = "yileplatform";
                }
                else if (ChannelPlatform == E_ChannelPlatform.Ky)
                {
                    _result = "kyplatform";
                }
                else if (ChannelPlatform == E_ChannelPlatform.hygt)
                {
                    _result = "hygt";
                }
                else if (ChannelPlatform == E_ChannelPlatform.newyn)
                {
                    _result = "vn";
                }
                else if (ChannelPlatform == E_ChannelPlatform.en)
                {
                    _result = "en";
                }
            case RuntimePlatform.Android:
                _result = "android";
                break;
            case RuntimePlatform.IPhonePlayer:
                _result = "ios";//ios平台固定返回ios
@@ -1379,11 +1318,12 @@
    public void RoleLoginOut()
    {
        if (PlayerDatas.Instance.PlayerId == 0/* || PlayerDatas.Instance.hero == null*/)
        if (PlayerDatas.Instance.PlayerId == 0)
            return;
        if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
            return;
        if (DTC0403_tagPlayerLoginLoadOK.neverLoginOk) return;
        m_Json.Clear();
        m_Json["code"] = CodeU2A.RoleLoginOut;
Main/System/Chat/ChatManager.cs
@@ -342,14 +342,7 @@
                             C0207_tagCTalkArea chatPack = new C0207_tagCTalkArea();
                             chatPack.Len = (ushort)GetUTF8InfoLen(msg);
                             chatPack.Content = msg;
                             if (CrossServerUtility.IsCrossServer())
                             {
                                 GameNetSystem.Instance.SendToCrossServer(chatPack);
                             }
                             else
                             {
                                 GameNetSystem.Instance.SendInfo(chatPack);
                             }
                             GameNetSystem.Instance.SendInfo(chatPack);
                         }
                         break;
                     case ChatInfoType.CrossServer:
@@ -416,14 +409,7 @@
                             _pak.TalkType = 100;
                             _pak.Len = (ushort)GetUTF8InfoLen(msg);
                             _pak.Content = msg;
                             if (CrossServerUtility.IsCrossServer())
                             {
                                 GameNetSystem.Instance.SendToCrossServer(_pak);
                             }
                             else
                             {
                                 GameNetSystem.Instance.SendInfo(_pak);
                             }
                             GameNetSystem.Instance.SendInfo(_pak);
                         }
                         break;
                 }
Main/System/Chat/ChatWin.cs
@@ -109,13 +109,7 @@
        private bool IsSatisfyShowChannel(ChatInfoType channel)
        {
            if (CrossServerUtility.IsCrossServer())
            {
                if (channel == ChatInfoType.Team || channel == ChatInfoType.Invite)
                {
                    return false;
                }
            }
            return true;
        }
Main/System/CrossServer.meta
File was deleted
Main/System/CrossServer/CrossServerUtility.cs
File was deleted
Main/System/CrossServer/CrossServerUtility.cs.meta
File was deleted
Main/System/GMCommand/GMCmdManager.cs
@@ -33,18 +33,6 @@
        GameNetSystem.Instance.SendInfo(gmCmd);
    }
    /// <summary>
    /// 发送CrossServer GM
    /// </summary>
    /// <param name="sendQuest"></param>
    public void SendCrossServerGMQuest(string sendQuest)
    {
        Debug.Log("sendQuest: " + sendQuest);
        C320C_tagCGMCMD gmCmd = new C320C_tagCGMCMD();
        gmCmd.Cmd = sendQuest;
        gmCmd.CmdLen = (byte)(sendQuest.Length);
        GameNetSystem.Instance.SendToCrossServer(gmCmd);
    }
    public void GetCmdArray()
Main/System/GMCommand/GMCmdPanel.cs
@@ -67,22 +67,13 @@
        public void SplitLongGMCmd(string value)
        {
            if (value == "RoleDead" && CrossServerUtility.IsCrossServer())
            string[] longCmdArray = value.Split('|');
            for (int i = 0; i < longCmdArray.Length; i++)
            {
                string[] longCmdArray = value.Split('|');
                for (int i = 0; i < longCmdArray.Length; i++)
                {
                    cmdModel.SendCrossServerGMQuest(longCmdArray[i].Trim());
                }
                cmdModel.OnSendGMQuest(longCmdArray[i].Trim());
            }
            else
            {
                string[] longCmdArray = value.Split('|');
                for (int i = 0; i < longCmdArray.Length; i++)
                {
                    cmdModel.OnSendGMQuest(longCmdArray[i].Trim());
                }
            }
        }
Main/System/GMCommand/GMInputWin.cs
@@ -22,8 +22,6 @@
        [SerializeField]
        private Button _sendBtn;
        [SerializeField]
        private Button m_CrossServerSend;
        [SerializeField]
        private Button _gmInfoBtn;
@@ -52,7 +50,6 @@
            _gmInfoBtn.onClick.AddListener(OnClickGMInfoBtn);
            _clearBtn.onClick.AddListener(OnClickClearBtn);
            achieveJumpTestBtn.AddListener(ClickAchieveJumpBtn);
            m_CrossServerSend.SetListener(SendCrossServerGM);
            _cmdContent.SetActive(false);
        }
@@ -140,26 +137,6 @@
            // }
            cmdModel.OnSendGMQuest(_inputCmd.text.Trim());
            cmdModel.SetRecordCmdlist(_inputCmd.text);
        }
        private void SendCrossServerGM()
        {
            if (_inputCmd.text == null || _inputCmd.text == "" || _inputCmd.text == string.Empty)
                return;
            // if (_inputCmd.text == "HappyXB")
            // {
            //     WindowCenter.Instance.Open<HappyXBWin>();
            //     return;
            // }
            // else if (_inputCmd.text == "TreasureFindHost")
            // {
            //     WindowCenter.Instance.Open<TreasureFindHostWin>();
            //     return;
            // }
            cmdModel.SendCrossServerGMQuest(_inputCmd.text.Trim());
            cmdModel.SetRecordCmdlist(_inputCmd.text);
        }
Main/System/Launch/LaunchBackGroundWin.cs
@@ -35,7 +35,7 @@
        var sprite = BuiltInLoader.LoadSprite("LoginBackGround");
        m_BackGroundImage.overrideSprite = sprite;
        m_BackGroundImage.preserveAspect = true;
        //m_BackGroundImage.preserveAspect = true;
        m_StaticBackGround.SetActive(true);
        this.transform.SetAsFirstSibling();
Main/System/Login/LoginManager.cs
@@ -317,50 +317,31 @@
                    send.ExtraLen = 0;
                    send.Extra = "";
                    break;
                case VersionAuthority.Release:
                    send.Extra = VersionConfig.Get().SpID + "|" + SDKUtils.Instance.Device.uniqueID;
                    send.ExtraLen = (ushort)send.Extra.Length;
                    if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Free)
                    {
                        send.IDType = 1;
                        send.Password = sdkLoginResult.token;
                    }
                    else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Quick)
                    {
                        send.IDType = 10;
                        send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName);
                        send.ExtraLen = (ushort)send.Extra.Length;
                    }
                    else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Hy ||
                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.hygt ||
                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.newyn ||
                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.en
                        )
                    {
                        send.IDType = (byte)SDKUtils.Instance.ChannelPlatform;
                        send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName);
                        send.ExtraLen = (ushort)send.Extra.Length;
                    }
                case VersionAuthority.Release:
                {
                    var deviceInfo = DeviceUtility.GetDeviceModel();
                    deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|", "");
                    var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo);
                    send.Extra = StringUtility.Contact(VersionConfig.Get().SpID, "|",
                                                        SDKUtils.Instance.Device.uniqueID, "|",
                                                        sdkLoginResult.token, "|",
                                                        sdkLoginResult.qkUserName, "|",
                                                        versionStr.Substring(0, Math.Min(24, versionStr.Length)));
                    Debug.Log("=====> extra: " + send.Extra);
                    send.ExtraLen = (ushort)send.Extra.Length;
                    send.IDType = (byte)SDKUtils.Instance.ChannelPlatform;
                    send.Password = sdkLoginResult.token;
                    send.AccID = sdkLoginResult.account;
                    var deviceInfo = DeviceUtility.GetDeviceModel();
                    deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|","");
                    var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo);
                    send.Extra += ("|" + versionStr.Substring(0, Math.Min(24, versionStr.Length)));
                    Debug.Log("=====> extra: " + send.Extra);
                    send.ExtraLen = (ushort)send.Extra.Length;
                    send.MAC = DeviceUtility.GetMac();
                    send.Version = _serverInfo.Version;
                    send.LineNO = 255;
                    send.AppID = VersionConfig.Get().appId;
                    send.AccountID = (uint)sdkLoginResult.accountID;
                    send.TokenExpire = sdkLoginResult.tokenExpire;
                    if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Sp)
                    {
                        send.TokenExpire = SDKUtils.Instance.FreePlatformInfo.timeStamp;
                    }
                    send.Phone = (byte)sdkLoginResult.phone;
                    send.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                    if (sdkIDCheckIDAuthentication.type == "1")
@@ -375,7 +356,8 @@
                    {
                        send.Adult = 0;
                    }
                    break;
                    break;
                }
            }
            return send;
Main/System/Login/ServerBehaviourGroup.cs
@@ -10,7 +10,6 @@
    public class ServerBehaviourGroup : ScrollItem
    {
        [SerializeField] ServerBehaviour m_ServerBehaviour_1;
        [SerializeField] ServerBehaviour m_ServerBehaviour_2;
        public override void Display(object _data)
        {
@@ -19,16 +18,10 @@
            var serverDataGroup = (ServerDataCouple)_data;
            m_ServerBehaviour_1.SetActive(serverDataGroup.serverData1.region_flag > 0);
            m_ServerBehaviour_2.SetActive(serverDataGroup.serverData2.region_flag > 0);
            if (serverDataGroup.serverData1.region_flag > 0)
            {
                m_ServerBehaviour_1.Display(serverDataGroup.serverData1);
            }
            if (serverDataGroup.serverData2.region_flag > 0)
            {
                m_ServerBehaviour_2.Display(serverDataGroup.serverData2);
            }
        }
Main/System/Login/ServerData.cs
@@ -126,18 +126,18 @@
public struct ServerDataCouple
{
    public ServerData serverData1;
    public ServerData serverData2;
    //public ServerData serverData2;
    public ServerDataCouple(ServerData _data1)
    {
        serverData1 = _data1;
        serverData2 = default(ServerData);
        //serverData2 = default(ServerData);
    }
    public ServerDataCouple(ServerData _data1, ServerData _data2)
    {
        serverData1 = _data1;
        serverData2 = _data2;
        //serverData2 = _data2;
    }
}
Main/System/Login/ServerListWin.cs
@@ -1,9 +1,6 @@
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using DG.Tweening;
using Cysharp.Threading.Tasks;
public class ServerListWin : UIBase
{
Main/System/SystemSetting/SettingMgr.cs
@@ -45,8 +45,8 @@
            // #endregion
            #region 初始化系统设置
            SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
            SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
            //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
            //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
            #endregion
            // #region 初始化聊天设置
Main/System/UIBase/UIBase.cs
@@ -44,7 +44,7 @@
    [SerializeField][HideInInspector] public int maxIdleRounds = 20;
    // 动画相关
    [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.None;
    [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.ScaleInOut;
    [SerializeField] public UIAnimationType closeAnimationType = UIAnimationType.None;
    [SerializeField][HideInInspector] public float animationDuration = 0.3f;
    [SerializeField][HideInInspector] public Ease animationEase = Ease.OutQuad; // 确保使用 DG.Tweening.Ease
Main/Utility/StageLoadTimeOutCatcher.cs
File was deleted
Main/Utility/StageLoadTimeOutCatcher.cs.meta
File was deleted
Main/Utility/TimeUtility.cs
@@ -24,8 +24,7 @@
        }
    }
    ////A0 04 同步客户端时间 #tagServerDateTime 中的 CrossServerTime 为玩家在子服中收到的跨服时间
    //CrossServerNow为玩家登录在跨服服务器里的通知时间, 与ILTimeUtility.ServerCrossNow(玩家在子服收到跨服的时间通知)不同
    //A0 04 同步客户端时间 #tagServerDateTime 中的 CrossServerTime 为玩家在子服中收到的跨服时间
    static DateTime s_CrossServerTime = DateTime.Now;
    static float _crossCheckTime = 0;
    public static DateTime CrossServerNow
@@ -162,10 +161,7 @@
    public static event Action OnCreateRoleTimeRefresh;
    // public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package)
    // {
    //     if (_package.socketType == ServerType.CrossSever)
    //     {
    //         return;
    //     }
    //     createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime));
    //     createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day);
@@ -176,72 +172,64 @@
    //     Debug.LogFormat("CreateRoleTime {0}  CreateDays {1}", createRoleTimeTail, CreateDays);
    // }
    public static event Action OnServerTimeRefresh;
    // public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
    // {
    //     var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
    //     if (vNetData.socketType == ServerType.CrossSever)
    //     {
    //         s_CrossServerTime = dateTime;
    //         _crossCheckTime = Time.realtimeSinceStartup;
    //     }
    //     else
    //     {
    //         s_ServerTime = dateTime;
    //         _checkTime = Time.realtimeSinceStartup;
    //         if (OnServerTimeRefresh != null)
    //         {
    //             OnServerTimeRefresh();
    //         }
    //     }
    public static event Action OnServerTimeRefresh;
    public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
    {
        var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
        s_ServerTime = dateTime;
        _checkTime = Time.realtimeSinceStartup;
        if (OnServerTimeRefresh != null)
        {
            OnServerTimeRefresh();
        }
        s_CrossServerTime = Convert.ToDateTime(vNetData.CrossServerTime);
        _crossCheckTime = Time.realtimeSinceStartup;
        TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
        {
            SyncServerTime();
        }, 60);
    }
    //     TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
    //     {
    //         SyncServerTime();
    //     }, 60);
    // }
    public static event Action OnServerOpenDayRefresh;
    public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
    {
        {
            OpenDay = package.Day;
            IsMixServer = package.IsMixServer == 1;
            MixOpenDay = package.MixDay;
            openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
            WeekOfYear = package.WeekOfYear;
        }
        OnRefreshServerTime(new HA004_tagServerDateTime()
        {
            Year = package.NowYear,
            Month = package.NowMonth,
            Day = package.NowDay,
            Hour = package.NowHour,
            Minute = package.NowMinute,
            Second = package.NowSecond,
            MicSecond = package.NowMicSecond,
            socketType = package.socketType,
        });
        if (OnServerOpenDayRefresh != null)
        {
            OnServerOpenDayRefresh();
        }
    }
    public static void SyncServerTime()
    {
        CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime();
        GameNetSystem.Instance.SendInfo(pak);
    }
    public static event Action OnServerOpenDayRefresh;
    // public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
    // {
    //     if (package.socketType != ServerType.CrossSever)
    //     {
    //         OpenDay = package.Day;
    //         IsMixServer = package.IsMixServer == 1;
    //         MixOpenDay = package.MixDay;
    //         openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
    //         WeekOfYear = package.WeekOfYear;
    //     }
    //     OnRefreshServerTime(new HA004_tagServerDateTime()
    //     {
    //         Year = package.NowYear,
    //         Month = package.NowMonth,
    //         Day = package.NowDay,
    //         Hour = package.NowHour,
    //         Minute = package.NowMinute,
    //         Second = package.NowSecond,
    //         MicSecond = package.NowMicSecond,
    //         socketType = package.socketType,
    //     });
    //     if (package.socketType != ServerType.CrossSever
    //         && OnServerOpenDayRefresh != null)
    //     {
    //         OnServerOpenDayRefresh();
    //     }
    // }
    // public static void SyncServerTime()
    // {
    //     CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime();
    //     GameNetSystem.Instance.SendInfo(pak);
    //     if (GameNetSystem.Instance.crossServerSocketConnected)
    //     {
    //         GameNetSystem.Instance.SendToCrossServer(pak);
    //     }
    // }
    /// <summary>
    /// 根据服务器下发的秒数获取时间
    /// </summary>