From dba79ac752de3e0c1d8abb68e1afe3dad0cc37a8 Mon Sep 17 00:00:00 2001 From: yinghua <17803824368@163.com> Date: Tue, 21 Jan 2025 16:14:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8C=91=E7=8E=8B3.0=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E6=96=B0S2=EF=BC=8C=E5=A8=B1=E4=B9=90=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=A4=E6=8A=8A=E6=9E=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SceneObj/Portal/PortalDoor.uasset | Bin 97130 -> 97130 bytes .../SceneObj/Start/BP_ActorStart.uasset | Bin 12786 -> 12786 bytes SoloKing/Asset/Blueprint/UGCGameMode.uasset | Bin 18225 -> 17196 bytes SoloKing/Asset/Blueprint/UGCGameState.uasset | Bin 12676 -> 9585 bytes .../Asset/Blueprint/UGCLevelDirector.uasset | Bin 34388 -> 34388 bytes .../Blueprint/UGCPlayerController.uasset | Bin 19762 -> 19762 bytes SoloKing/Asset/Blueprint/UGCPlayerPawn.uasset | Bin 94144 -> 94144 bytes .../Blueprint/UGCPlayerStartManager.uasset | Bin 7858 -> 7858 bytes .../Asset/Blueprint/UGCPlayerState.uasset | Bin 7880 -> 7880 bytes SoloKing/Asset/Levels/Map_DBL.umap | Bin 3921146 -> 3921146 bytes SoloKing/Asset/Levels/Map_DC.umap | Bin 2206018 -> 2206018 bytes SoloKing/Asset/Levels/Map_HDDJ.umap | Bin 1885548 -> 1885548 bytes SoloKing/Asset/Levels/Map_JCK.umap | Bin 4245658 -> 4245658 bytes SoloKing/Asset/Levels/Map_NewYear.umap | Bin 2069300 -> 2069300 bytes SoloKing/Asset/Levels/Map_SCL.umap | Bin 6835536 -> 6835536 bytes SoloKing/Asset/Levels/Map_SLXLC.umap | Bin 983309 -> 983309 bytes SoloKing/Asset/Levels/Map_SMDJ.umap | Bin 938950 -> 938950 bytes SoloKing/Asset/UGCLayout_BP.uasset | Bin 211224 -> 211224 bytes .../WB_ShowRankInheritance.uasset | Bin 114825 -> 114825 bytes .../UI/CompetitionSeason/WB_ShowVS.uasset | Bin 546038 -> 546038 bytes .../WB_ShowVSPlayerInfo.uasset | Bin 145499 -> 145499 bytes SoloKing/Asset/UI/GameEnd/WB_GameEnd.uasset | Bin 83609 -> 83609 bytes .../UI/GameEnd/WB_GameEnd_PlayerInfo.uasset | Bin 64578 -> 64578 bytes .../Asset/UI/GameRecord/WB_GameRecord.uasset | Bin 117433 -> 117433 bytes .../UI/GameRecord/WB_Historical_Season.uasset | Bin 46531 -> 46531 bytes .../Asset/UI/GameRecord/WB_RecordItem.uasset | Bin 46549 -> 46549 bytes .../Asset/UI/GameRecord/WB_RecordType.uasset | Bin 30852 -> 30852 bytes .../UI/GameRecord/WB_RoundInfoItem.uasset | Bin 29295 -> 29295 bytes .../Asset/UI/GameRecord/WB_SortType.uasset | Bin 38246 -> 38246 bytes .../UI/GameRecord/WB_WeaponProficiency.uasset | Bin 50557 -> 50557 bytes .../WB_WeaponProficiencyPanel.uasset | Bin 50128 -> 50128 bytes .../GameRecord/WB_WeaponProficiencyTop.uasset | Bin 39889 -> 39889 bytes .../Asset/UI/InTest/WB_InTest_Side.uasset | Bin 46274 -> 46274 bytes .../Asset/UI/InTest/WB_TestButtonItem.uasset | Bin 15759 -> 15759 bytes .../UI/SelectGameMode/WB_ModeType.uasset | Bin 31155 -> 31155 bytes .../SelectGameMode/WB_SelectGameMode.uasset | Bin 54143 -> 54143 bytes .../Child/WB_AllWeapon_Item.uasset | Bin 34880 -> 34880 bytes .../Child/WB_AllWeapon_ItemHadSelect.uasset | Bin 27904 -> 27904 bytes .../Child/WB_AllWeapon_Type.uasset | Bin 27269 -> 27269 bytes .../Child/WB_SelectWeaponDefenceItem.uasset | Bin 18152 -> 18152 bytes .../Child/WB_SelectWeaponItem.uasset | Bin 25978 -> 25978 bytes .../Child/WB_SelectWeaponItems.uasset | Bin 33282 -> 33282 bytes .../Child/WB_SelectWeaponOtherItem.uasset | Bin 20243 -> 20243 bytes .../Child/WB_SelectWeaponPartItem.uasset | Bin 17700 -> 17700 bytes .../WB_Spectator_SelectWeaponItem.uasset | Bin 30671 -> 30671 bytes .../Item/WB_OtherPartItem.uasset | Bin 17801 -> 17801 bytes .../SelectWeapons/Item/WB_WeaponItem.uasset | Bin 28780 -> 28780 bytes .../Item/WB_WeaponPartItem.uasset | Bin 36991 -> 36991 bytes .../Item/WB_WeaponSelectItem.uasset | Bin 30406 -> 30406 bytes .../WB_SaveOtherWeaponItem.uasset | Bin 50788 -> 50788 bytes .../WB_SaveWeaponItem.uasset | Bin 53270 -> 53270 bytes .../WB_SelectSaveWeapon.uasset | Bin 25132 -> 25132 bytes .../SaveCustomWeaponItem/WB_WeaponType.uasset | Bin 29128 -> 29128 bytes .../SelectDisableChild/WB_Disables.uasset | Bin 17539 -> 17539 bytes .../WB_SelectDisableChild.uasset | Bin 36240 -> 36240 bytes .../SelectDisableChild/WB_ShowDisable.uasset | Bin 22702 -> 22702 bytes .../UI/SelectWeapons/WB_CustomWeapon.uasset | Bin 64806 -> 64806 bytes .../SelectWeapons/WB_CustomWeapon_New.uasset | Bin 76217 -> 76217 bytes .../SelectWeapons/WB_ReselectWeaponBtn.uasset | Bin 26990 -> 26990 bytes .../SelectWeapons/WB_SelectAllWeapon.uasset | Bin 123434 -> 123434 bytes .../UI/SelectWeapons/WB_SelectWeapons.uasset | Bin 58751 -> 58751 bytes .../WB_SpectatorSelectWeapon.uasset | Bin 43703 -> 43703 bytes .../SelectWeapons/WB_WeaponSelect_New.uasset | Bin 41855 -> 41855 bytes .../WB_WeaponConfigPartItem.uasset | Bin 37530 -> 37530 bytes .../WB_WeaponConfiguration.uasset | Bin 89875 -> 89875 bytes .../Tip/WB_SecondaryConfirmationNotice.uasset | Bin 23877 -> 23877 bytes .../Asset/UI/Tip/WB_TipSlidingTackle.uasset | Bin 54116 -> 54116 bytes .../UI/Tool/Child/WB_PlayerInfoItem.uasset | Bin 63063 -> 63063 bytes .../UI/Tool/Child/WB_SelectMapItem.uasset | Bin 36298 -> 36298 bytes .../UI/Tool/Child/WB_SelectPartButton.uasset | Bin 22362 -> 22362 bytes .../UI/Tool/Child/WB_SelectPartItem.uasset | Bin 20943 -> 20943 bytes SoloKing/Asset/UI/Tool/Title/WB_Title1.uasset | Bin 49216 -> 49216 bytes .../Asset/UI/Tool/Title/WB_Title1_2.uasset | Bin 140557 -> 140557 bytes SoloKing/Asset/UI/Tool/Title/WB_Title2.uasset | Bin 63116 -> 63116 bytes .../Asset/UI/Tool/Title/WB_Title2_2.uasset | Bin 139685 -> 139685 bytes .../Asset/UI/Tool/WB_DamageTextButton.uasset | Bin 22414 -> 22414 bytes SoloKing/Asset/UI/Tool/WB_PID.uasset | Bin 20581 -> 20581 bytes SoloKing/Asset/UI/Tool/WB_PlayerInfo.uasset | Bin 55318 -> 55318 bytes .../Asset/UI/Tool/WB_RankingListBtn1.uasset | Bin 26094 -> 26094 bytes SoloKing/Asset/UI/Tool/WB_RoundEnd.uasset | Bin 17070 -> 17070 bytes SoloKing/Asset/UI/Tool/WB_SelectMap.uasset | Bin 32420 -> 32420 bytes SoloKing/Asset/UI/Tool/WB_SelectParts.uasset | Bin 22578 -> 22578 bytes .../Asset/UI/Tool/WB_SettingButton.uasset | Bin 13968 -> 13968 bytes SoloKing/Asset/UI/Tool/WB_ShovelButton.uasset | Bin 22649 -> 22649 bytes .../WB_SecondaryConfirmation.uasset | Bin 70936 -> 70936 bytes .../WB_SecondaryConfirmation_Strip.uasset | Bin 88593 -> 88593 bytes SoloKing/Asset/UI/WB_Main.uasset | Bin 139582 -> 139582 bytes .../General_AvatarFrame_UIBP.uasset | Bin 10722 -> 10722 bytes .../UMGTemplate/General_CheckBoxButton.uasset | Bin 12841 -> 12841 bytes .../General_GameFailure_UIBP.uasset | Bin 64482 -> 64482 bytes .../General_GameTopBlueTips_UIBP.uasset | Bin 48270 -> 48270 bytes .../General_GameTopRedTips_UIBP.uasset | Bin 46455 -> 46455 bytes .../General_GameVictory_UIBP.uasset | Bin 202191 -> 202191 bytes .../General_Ingame_BloodVolButton.uasset | Bin 36638 -> 36638 bytes .../General_Ingame_RingButton.uasset | Bin 16857 -> 16857 bytes .../General_Ingame_SquareButton.uasset | Bin 14223 -> 14223 bytes .../General_NoticeLeftKillTips_UIBP.uasset | Bin 14647 -> 14647 bytes .../General_NoticeTopTips_UIBP.uasset | Bin 74043 -> 74043 bytes .../General_Player_infoBar_UIBP.uasset | Bin 39408 -> 39408 bytes .../General_SecondLevelButton_1.uasset | Bin 14254 -> 14254 bytes .../General_SecondLevelButton_2.uasset | Bin 15156 -> 15156 bytes .../General_SecondLevelButton_3.uasset | Bin 14555 -> 14555 bytes .../General_Shop/General_Currency_UIBP.uasset | Bin 15751 -> 15751 bytes .../General_Shop/General_ShopItem_UIBP.uasset | Bin 53631 -> 53631 bytes .../General_Shop/General_ShopMain_UIBP.uasset | Bin 40470 -> 40470 bytes .../General_Shop/General_ShopPlay_UIBP.uasset | Bin 45052 -> 45052 bytes .../General_ShopPreviewItem_UIBP.uasset | Bin 22133 -> 22133 bytes .../General_SlideModeButton.uasset | Bin 37160 -> 37160 bytes .../UMGTemplate/General_SwitchButton.uasset | Bin 34183 -> 34183 bytes .../General_TMode_Discard_UIBP.uasset | Bin 61989 -> 61989 bytes .../General_Team_ScoreBoard_UIBP.uasset | Bin 60734 -> 60734 bytes .../Peekaboo/Peekaboo_EditLocation.uasset | Bin 25479 -> 25479 bytes .../Peekaboo/Peekaboo_ItemSelect.uasset | Bin 24374 -> 24374 bytes .../Peekaboo/Peekaboo_ItemSelect_UIBP.uasset | Bin 19787 -> 19787 bytes .../Peekaboo/Peekaboo_Main_UIBP.uasset | Bin 38853 -> 38853 bytes .../Peekaboo/Peekaboo_Playerlist_UIBP.uasset | Bin 104149 -> 104149 bytes .../Peekaboo/Peekaboo_PropsItem.uasset | Bin 21180 -> 21180 bytes .../Peekaboo/Peekaboo_Props_UIBP.uasset | Bin 40054 -> 40054 bytes .../Peekaboo/Peekaboo_Settlement_UIBP.uasset | Bin 166473 -> 166473 bytes SoloKing/Asset/UMGTemplate/ReuseList2.uasset | Bin 14567 -> 14567 bytes .../Common_RankTitleInfo_UIBP.uasset | Bin 21907 -> 21907 bytes .../General_BattleDataList_UIBP.uasset | Bin 136228 -> 136228 bytes .../General_BattleDetail_UIBP.uasset | Bin 85696 -> 85696 bytes .../Settlement/General_ListDataBG_UIBP.uasset | Bin 16476 -> 16476 bytes .../General_Team_ModeList_UIBP.uasset | Bin 71646 -> 71646 bytes .../General_Team_ModeMain_UIBP.uasset | Bin 88293 -> 88293 bytes .../General_TitleBattleDetail_UIBP.uasset | Bin 53670 -> 53670 bytes .../Settlement/General_TopBG_UIBP.uasset | Bin 26869 -> 26869 bytes .../UMGTemplate/UGC_DragDropTextBox.uasset | Bin 16877 -> 16877 bytes .../UIBP/Common_PopupsBg_Medium_UIBP.uasset | Bin 51835 -> 51835 bytes .../UIBP/Common_PopupsBg_Small_UIBP.uasset | Bin 51459 -> 51459 bytes .../Item/UGC_RankingList_ButTab_UIBP.uasset | Bin 30947 -> 30947 bytes .../UGC_RankingList_Explanation_UIBP.uasset | Bin 37238 -> 37238 bytes .../Item/UGC_RankingList_Get_FX_UIBP.uasset | Bin 106834 -> 106834 bytes .../UGC_RankingList_Item_Style1_UIBP.uasset | Bin 46474 -> 46474 bytes .../Item/UGC_RankingList_PopupsBG_UIBP.uasset | Bin 10681 -> 10681 bytes .../Item/UGC_RankingList_Tips_UIBP.uasset | Bin 35782 -> 35782 bytes .../UIBP/UGC_RankingList_But_UIBP.uasset | Bin 93068 -> 93068 bytes .../UGC_RankingList_IngameBut_UIBP.uasset | Bin 26782 -> 26782 bytes .../UIBP/UGC_RankingList_ItemGet_UIBP.uasset | Bin 988979 -> 988979 bytes .../UIBP/UGC_RankingList_Main_UIBP.uasset | Bin 138356 -> 138356 bytes .../UGC_RankingList_Set_Popup_UIBP.uasset | Bin 83694 -> 83694 bytes .../Blueprint/BP_Placeholder.uasset | Bin 10286 -> 10286 bytes .../Blueprint/RankingListActor.uasset | Bin 10761 -> 10761 bytes .../Blueprint/RankingListComponent.uasset | Bin 20640 -> 20640 bytes .../Blueprint/WBP_RankingListBtn.uasset | Bin 19416 -> 19416 bytes SoloKing/Script/Blueprint/UGCGameState.lua | 13 + .../Script/Blueprint/UGCPlayerController.lua | 21 +- SoloKing/Script/Blueprint/UGCPlayerPawn.lua | 11 +- SoloKing/Script/Global/EventTypes.lua | 1 + .../Script/Global/Mini/Script/Mini_Solo.lua | 2 + SoloKing/Script/Global/Table/WeaponTable.lua | 6 +- .../UI/SelectWeapons/Item/WB_WeaponItem.lua | 15 +- .../WB_SaveOtherWeaponItem.lua | 256 +++++++++-------- .../WB_SaveWeaponItem.lua | 264 +++++++++--------- .../UI/SelectWeapons/WB_WeaponSelect_New.lua | 1 + .../WB_WeaponConfiguration.lua | 4 +- .../Script/gamemode/Action_PlayerLogin.lua | 6 + SoloKing/SoloKing.ugcproj | 2 +- 159 files changed, 330 insertions(+), 272 deletions(-) diff --git a/SoloKing/Asset/Blueprint/SceneObj/Portal/PortalDoor.uasset b/SoloKing/Asset/Blueprint/SceneObj/Portal/PortalDoor.uasset index ebaa1af1ffaf840636d99253dfb92bd945f5126a..a3195fd7fdf9767c8306fc3f7ed921db2fc948c1 100644 GIT binary patch delta 32 qcmV+*0N?-W_66$p1(2-}(V~{6m@t7%lkT2yaC&cbfxWf80j+v0_7RW( delta 32 ocmaF$jrG+x)(L9`M0Z5g9a5g>+mPiQB3ZUNwsG&)y^L$C012QEg8%>k diff --git a/SoloKing/Asset/Blueprint/SceneObj/Start/BP_ActorStart.uasset b/SoloKing/Asset/Blueprint/SceneObj/Start/BP_ActorStart.uasset index 3fb90182366182b7f322ad3bafccf0a1aad678a2..9fca9cdc147f096667257b64e63a3030ea5f7bdb 100644 GIT binary patch delta 27 jcmeyA{3&_DT7f;syJfiyn|=32-_t!Gza(hmUQ_yVXy{3i$+msIO diff --git a/SoloKing/Asset/Blueprint/UGCGameMode.uasset b/SoloKing/Asset/Blueprint/UGCGameMode.uasset index 4dbc62716705b87addea9cd627ccde306ab6ab25..54b3b6de5c0359992376997a92a123f537980f3b 100644 GIT binary patch literal 17196 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 literal 12676 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 delta 32 qcmV+*0N?+>-vz+m1(3lI_2n@F_E$wovtrNs@VOkEfzh?m0q<@j&=Lm# diff --git a/SoloKing/Asset/Blueprint/UGCPlayerStartManager.uasset b/SoloKing/Asset/Blueprint/UGCPlayerStartManager.uasset index 48947b1189bc0479676aab4276ffd5339cb1de16..04578e43c5e4367b8bfceced953d33fdfffa9fa4 100644 GIT binary patch delta 27 jcmdmFyUBLKOo3m&KAYWc5OQ4RxbC2auhN>0D>>x=#Apot delta 27 jcmdmFyUBLKOaXE8+5=C^l^v$$3l$&MEiB)-l2Z-HB&P)#j(wt`}%Rt@W<~Q4$pJ%`@ENz`&sp#^cg6g zOrj1%*Go1|+bU9s3nq%hpN3;tB%DPey`YoGGSXBMU;?1eV}WsiDKH)|1I&R500o!` zSOAj%OMnVY250~sm;y}2NmH@AUesica<)|zS#VD3*D~8e*{lc+#+dlq-Pl($)hBU6 z^E0b3Zg!^4)LABB7YL2I2lFOV$y!-wQeBp4t47$QY~nqt3IV9anI+q z*2H&fLQsiX5%E1H!#^Lz;z?AMt-qtfpSGd6#^cJ?S_z*p?4>becx5;;{1Px{ZM(ci zc=cg(VBjOlWg|n{31kRYwRBb;tmGG%r;1B#8yZIq_{&I)Wc{{7a6a`!5^?y>JyN^B~FT8YST1VpAC>)CQiALEhM7dksHpT*mMQ_|56n2q-8h$#9oXO zM82kM_f5eAmwG(v1G-gK7ZSyfI$E+Xs@!r4t$bZs4Iu_Gqz8#jRi&!I%Jp7Xu72ya znQZn7wPxZod(plsw(4lfU|9-NW4q#Rty^q~3Sor$+tqAk_K!Su=VJDm<_{+g{iK7a z-|40*T@ABIqzGdAa0)x;jz-0+htME8o|t9Rm+cqDltl%ZpD&Fht^t}1pY;V5CoR}# zA8(q;k1M9tza23b7#ThcBSXW}-7y_>im<2++w*eDLF|9S^*apE!-BC9#`-+>)42mW zNm{v0jsuiHg@IX^ktk_&+r;&PZOsKx>+E-g> zMl>Ha*qbB6YW252)>unD9KwsY2ALt*vXcH#riY}=A z>c$WmE?A-r@fnnH!<)Q$n&n+r8LE zV3$mefW?3#-~=oImIBKFXTSwm4y*uH;sMN6S-1WJ Dno&bN delta 1976 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 Cp}&Iw delta 1112 zcmYk5e^8Tk9LH}D2>Qk5cSCdoMW+>dc1vxbMC5Q|(=m?pz=#8;VJaZp?r@eNr44!1 z=}~j=!1yuDtK@XLncNpe(N=m~8e;e(uc4A5)=hq76oh(xzR$yT{qg$i{r-GD&-eZL zJiZ?*L_WYH5#e8Lf2NY|)YNMIowF!G9BWmGScQnf06{=7FbN0&LV?M^6rvEJ&KL1u za=onh-p$n&<6>R0RMyWeDMxay$BrE2_{(TZ5SChXJ$_}Q@lZ=!>bC6-ebnIQa2;Yv z<|1@13@=D9J^bSuqpnVj-7$Sc{lS~cEQ5=Jpw*J%Rx+&APIAhkoOXkP(29lD1 z&NH~{^QsJ!CqzrSFFq|#Dv1@eOK(!Gd9iXN{OGf!Q<5L->g?QXL0hqsYOn9Pa`}eG ztNY@#t)gs0pjgmgC}@`5-gQOC=B@JVs{HQZ$Cn3qjdL3j%i*^}f=T;ow3Na5R+lMW z1*hurz%Q9*^B-JpG7c9IN6cI>3Af`F#_TGPr8|%!5}7dXqe1kDm-> z-VX>PsDT3mOVkC(Cc?S1a`ocFzvyc7dRzTJjg|8sDHx^|(aqF5*T#5HuG6r-LVeqV zN{wKE^jWgcObvaiEbPib2C~0=^n8XYhc}R&CG?pc9Z3rv)f zeOmnd6G>sI<_&f2t5+9){msxsM&=J`F}tk7e$^f@IK)RnZ#nxP5lC1i;x1Ohek>o+ z{p|Vd!0__42E!5eu-LZo@EV~#Tn)=L)q!hpH+78;4qu8dJ*hpoY^!GB{g*~*pMoIV zY;vA$Ei6d6(5U}v@Y6mWEtYe9fUp7xFt5yDDV;K^Kd4{>+C$+|!N8w=jE$cCIW8)~ z9=E|*<+rqF1zyYjpTSs34a%amIa@bpXzQ$Pwb-w~yn#T6r$KnZmdNKt(yo+xk1o*A zq~Uk#=HPN!GP{OGb4RT--!1D=J0Dx8jy=0EMvL79ekzDYe`@1^>D!33h8azBr85^z z{7(=Y%Sv1b2m_`9F92d-8h`-_AO*sK=|BW91DFZO067o|L;y{+_;>#rX6C34sGKTLpJ3eqfsN1IJRMeRy!YCelzR_qUxEhvGA2Ql zACn3d)cU;VB&}HYkI{4vLQyO$1oH={s;(upw3=d+#G&Z!PC6Vh@3n?1csmA!qt zq&~YDlYqvmMoUS_HqVZo`}xksuWg1XIPU>eFxd#GfS*%1dg*VLAg9GY=TAv*+A&?x zgMHofvqeC8UNiPR+=8+C%!LdbV!nGJ_RfRs6d9HO4mWW6*o z$7}ZeyGx$+S9L<{0V}xU3UbJ%d9G6NGs+z&h8h&4MJuF0LILOyU?|)*4?J9PgWZ1; z$8uLegI(8=?AQ)8LWoIl@pP@jj?UM77o4B;V9&B;rpPKJ{6Q)_Gd~?)eEpB#{sMtk z*MIHJNGhfSRkUx<3j(@RaPE~>{*zfpT-M*HlE0RbHWZ}n%k99e-x(9!x~7ER zvaiWphoOuo0;DWN;Zv$>+%bpMhqUi6_Ypk?QMUa+Bq;jCPj6A0{CKtdO#4?yji0FO zL`VXoZ&fTP)aF<2Flb5t@7SVHRW)-u+ha(mB{Tw^TbTe1H9^8~#;YI{nQ?&Tn#%SbQl{>O>SJhtfbwqKcai-nu>4f1Z$S+UY%fM9JzC9raWKeX${C`sqE%V>7>P7yot5Z9n z%7EEp%Jvm`>>11g9xJ`)?2EhRw*OF~$gaBAbG8HXNEWl;w7cTAEw>r{r!;Tys8?rL zfvnNJ45YCsP^RRGy^q(-$|9dOzTBy6Z5)ija??bC z&dRL=rLBvH&d%{Z{nop!^t*J_%DzCbd^;!@6B;>ym=lP(fS4PId4QM~i1~n+ABY8j lSP+PXfLIuaMSxfoh{b?d9Ec@=SQ3b(fLMBaLZb|i3jhht%CP_d delta 1135 zcmaFURs5!_c!MgVWJb67f9H*}Ja*KbT|U)o4L2hL1A`Ngm@!?Ei%D&B3gflaj7-he zYul~YG6FFZ5HkZY3lOtzw_eNkI7!gjfa}{zRw>Vx4+f@<#?rsvPCux^B(dFHfc+1% zKt^I0dv5VZzdg&Z7VnuG*fw3Eh<)ugQTDw|0{0a^%>K0Vp2vdg4}xsNY+b=p+p8ql zop}U`Jv@(l?8)+NQ1@*W`xp5SDyIt6C%ERTzQ%JaFOPju2i*7+SdF3fC1|iOV-if% z+;U6CVyXX}FzcSmh;$2tq%`ApFCF%7MuD4iucm4D_c_d1W6SZ??b8ad+0(03+1s~E z>a&|M3FwE0CKjp0`pjYakh4>|$q}O9ya!OhWFwG*Bdc}#7GFQ*){tS<|BpMTcstNj zCXCy8&Di&F3v&K?BrF)J<1)2=+s$HIVP1#}rURWfWxA&i&$2%m0Aj)h*LCP4f-d*o3>+Ydy7;?D5iAK#vCCICZCaOaX8rNK+jyDll5eQle= z8BG*3J|~0RFsU(ZSI){!PD>cJc5L;2I|oI{p)`;Z37J)gOfO_Rt&E=Y@$DLZPlyt5 z9B${z1chE&)8dQ({R)?!MRW8PEV?uaNyT(v5^mp~kOMO4;9=g>voFjY_la9R^x<7E z2UP~l8&kHg$Yal77MObZ*qh|UO7|`M6vQ;EH2;9oQWmq|(RH_4IgdZ}Z{4aP_F(3P zG-QqLWgv~-EFsevo_uxNdFId63ldL1LefW06)0=%y|qHmNpiaDoKrd5!WZZUf#s%& z0-cpx2TEIVi=W!{Es}OzALaF}CS~e&uzWix7!w*ffS41Axqz4(h-A* mfLIWSg@9NXh(&-{6o|!uSR9BYfLIcUrGQv^dqSfOj|%``($8oB diff --git a/SoloKing/Asset/Levels/Map_JCK.umap b/SoloKing/Asset/Levels/Map_JCK.umap index 4542cb851e4712bf36af4f3ce72f4ad0e5a5103f..f02ea300d6ba273df071e9b2f8eee201a2afcd63 100644 GIT binary patch delta 2080 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 TumErc76OX^H&UwLa@79=W@CS9 diff --git a/SoloKing/Asset/Levels/Map_NewYear.umap b/SoloKing/Asset/Levels/Map_NewYear.umap index 612fd6d2493c53956a1ccd2026b81cd36085dc9e..6aba8149696bcb6dae7e716e2dd38481017bdeb9 100644 GIT binary patch delta 1089 zcmdn8tZvJ)x(%v~l352UroZO><1p`|alPfPxH3it28KI8;?eZLR%Z3)RL1sHMi6EK zVrC#_0b*7lW&>jO?Wv3$v9|iK>|KNG4@#?Rerx$+USi8Oc4o3#FK<e(OE2-E*EOo5j!VKr=;I1ZJJHm^3STs&hv`T1g9Yg*;q~G~@PDUpdT}1iA`E zg)izJ@LzObw-Nuh&R^3P@^h};zV`=*5R-tVOJQJ-Xr=E&*+okn*RE87$o2dN$-RCp z>BGBXwR_utCUafAw7+1v=|E4kZ-4ZUqnlCSze=UU=7{~?^Oz=yrB@|=hA5Ex2vo3< zkrSvO!Io2R{#R$uMWxGq;`z4h-VU_cgmHTV3#TBrKvoIw9vy6XGT_s;^?J|o3C!`H|5f#s$H z<=VIJkpXEwq?Gka@m{n?myGY;$L|A^kQ8*wgB1K}|H{WdozHLT6rE~ErU%_f3Zj%i z3dDaKzVmst({WjfW%F!~;D-%3l<5JZ$t03|3TF{_*01O&_T~N?C z_D9Sw+;q`%*+HfKEaBQ~kgOLl1ewkdd}>e3IT43Fcl@5ztrGYEQ2-3r_U-qLK?({o zZE|l~?DpItY&dO>h0#SM1?$W}v3BRH<;?p0636YIy_fdQ&YKBI*)>j_z?8j=*Xa1N z`@W7VGbVN?Zri;VBDc^DB)9m;j+duyhRNB71$RDJDdvVai4L*mRr*3%pDX8P49yFmp-~cA{>A{@9 zgnsJK&R>D~^PQH@|MqXn(SjL>@R<$_pZ0daa84lR0%C3;<^f_}Am#&NejpYAVnHAl p0%Bnx76D>WAQl5+aUhleVo4yD0%B<(mH}c}AeP%M7%s1D0{{voxPJfu delta 1089 zcmdn8tZvJ)x(%v~k|}qL{bcyM{1-1G>0?oU;FTp-;}3rYWEgD?SX5NX54=2D~B1AKwNt& z2agq>%NqUjRcA~j&P`v)&$)K{-X9!7OahW7U(e(lUGQ0+F30fK>p>VquID#Mjw$={ zjz+0_etp_K?*i5y&5_pCN8`n8Uam!7taa=xC=}T^U@Kmsqwx>yQ0{zqQ);}`;x2sok?1TMk-r1kQa?^ow z?c4XrfHYtFz&W8j^P}(9366Ea8n<1M6m-jj6y!-Co@OPZ;4v-Exa?U+V;qu#C?$}B z2N#a%|9n>N)LqUfe&Zc07es-B7SIY!Rgi*BH^Y8=4Bn3azK?*W= zRi_?Fwf0|Q_y0Fj@5YZ{1>1op06m~6_}=1;!gt4}1I$b|N2l0AgXRG+X!vzOL9@Y` zK{I3NX~*4sTddb?INgC{x_}|b^n!l9**$OPxo z?~;`B4!cDIk63!9tVB|<&I}Z5syw@xqzWc`tlTDe@X-SU7D&pjapDA~Y}v%`%zeFb z-W`|NZ%!*)uNa8*S&`*0H)IR?M40|1yv7z@~fJgJ5JAC@NRp?qO;J1{(u9R(5DA;0u%bb z<13`TRqt_a|Fhu!PDue}MEFbxhEIFDU^piba{)0o5c2>rFA(zqF+UIs0I?tt3jwh( m5Q_k@C=iPQu{aP*0I?(xO98Po5X%6uED+0W7YvtIwgCX}g0@fq diff --git a/SoloKing/Asset/Levels/Map_SCL.umap b/SoloKing/Asset/Levels/Map_SCL.umap index 615fc6da9cc42f126cbcff2d49bdcfd0f57c72af..530b8651ebe1b358edd3fdbe01d57000137c7fdc 100644 GIT binary patch delta 3438 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 T33vhCz<$67FU~n|{nq~hY69=Y delta 3470 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 diff --git a/SoloKing/Asset/Levels/Map_SMDJ.umap b/SoloKing/Asset/Levels/Map_SMDJ.umap index 42818bb8c44129f4e745052f473443032b1e33c2..0e55ed515103196c314001d1048dbb3f9f9d5800 100644 GIT binary patch delta 380 zcmX@M-169R%MF5z0<{~H*G@6&^W5;|;62@j_^+E485MgN8JnGZ+nswEftU%1nSq#P zyK^t=?|uQ-Nni6fUOMhHXHNFlxb1Es(*@PpB)6x_vi)Heuv1?h%k;G0rTe}`_@*MR z9dSA9F+ZB}9gqQ?ej{W~M<;xkTrpzs6^#@~X5DKOP6|`?JQ)Lt6=Fe z)q9HOf@3Oo8>S1Wvq^2=V89kDCg5~F_vGFyzHWU#Z|poAYajx#9cY6zniOwxExS-W+2G?&>zBAb)?EYy4a@ek}9yC0#*U`BiIY=79ngv Z%nrmHK+FlmTtLhX#5~(ALU{ZB0{{XQklz3R delta 379 zcmX@M-169R%MF5z0_&G0-0s_*=F|1IGlVVKZ^33oM#UaRre^2fcIRG3AZ7w$W*}zS z?%d1zyI;U7rCPx*>a6Evw<(ACUrq9vE~w5XxjkK$?GLkn-j3xsEUlKjPQ z=Ghacbo#BOxDCXL4F+tnVgkO)?mh0EuI9MvyIkx_OV{HNIiMBNjN1b}*t!`7&UUtD z6m7ZayIrsK@(tewfpFbG6$;*LW=sN7&67o$@5Q?Bx_r$==VZtoW_ux?xe%>h?!Yj9|TBFM@s0ZV|!; Z#Oy%K0mPg@%mu{UK+LnnLNCMyW{eG8BamRQ}wWCCI3wJ_;I zSktSR?54kNW-^5;X=XBjuaDkgH&_oeosTHNB>hNgE=j)5v57VfmLcxl9KV!qW>3nAoT9YhaRs zNMtuKX~J22(;XU^q#@k+GN9jp1poB2^+;m;(|?r$B@TcHdANjiDbTrHb+FLzt%LbI lvxLcexifBv%Uz4KV9=4U_TqO*KqudjJ=RfqVb} delta 401 zcmbR7iD$+qo(VGrcCntG|9Q=A|5dXuR)i(&INZ3hbtU80l}x=w(~E1E?58_aGYL$W zt7Wo-uySgdY$2@K)l8n#1FD(4r~B41=|aT1>X@t`tllano9Xu}nfRy6*E2~&#K7E0 zWUlA*v&dZj=~b0X+S9WenE0kUKv|j)z5AP(xTYuQF$qq;P{E`*9meIH{x+Y9W4diQ zP)w(h$qb_SUKvpFhjJ$C=_|{D&NXjh5}N*A5vZ;Kqz=e6hO2W08D#?D#+3oxY~ReJ z2H^r(T+{2DnPec`)y+%>5LRv}lk0T-QecqewZMG7u7t@26dEkkXBjcdO^ iYJ~;Ky<(t)_O~(_K_sG!nM|jf6*Gx$-&Dhtwg&(cMvMLc diff --git a/SoloKing/Asset/UI/CompetitionSeason/WB_ShowRankInheritance.uasset b/SoloKing/Asset/UI/CompetitionSeason/WB_ShowRankInheritance.uasset index 2adcfa3e2c590cfa17a8bf5c783a6dda9b29e0b5..6f685e670dfeab5206550d558b758712a8542993 100644 GIT binary patch delta 32 ocmeBdWbbTbpKws%yJRy%Ql5nS;uE_!C$0V9)Od00MaCWb0qATGumAu6 delta 32 qcmV+*0N?+Kfd`3!2av%KLrj0>m<5qXwvhl1{Kw$Xfzh?m0l2^GQ4j?H diff --git a/SoloKing/Asset/UI/CompetitionSeason/WB_ShowVS.uasset b/SoloKing/Asset/UI/CompetitionSeason/WB_ShowVS.uasset index 013d10592e98125b426adfddb8596c64175041a6..8cc95c08fd9ed5ee3f07376b3b6962975618acec 100644 GIT binary patch delta 53 zcmV-50LuUNsUh~MA&|ikb6)N;RlkT!v+bJ2XMa^dfzgH00fo^5h0z0r(FBFj1%=TD Lh0zDK(Fi3}>CYMi delta 53 zcmV-50LuUNsUh~MA&|ikfzgH00fo^5h0z0r(FBFj1%=TD Lh0zDK(Fi3}H})JA diff --git a/SoloKing/Asset/UI/CompetitionSeason/WB_ShowVSPlayerInfo.uasset b/SoloKing/Asset/UI/CompetitionSeason/WB_ShowVSPlayerInfo.uasset index de8068c47be8848f3739469090adc079db0d819f..464fa765025136f58591c5a68935ad939b111b3d 100644 GIT binary patch delta 35 rcmccpf#dcEjtK_^Y}(MaHccnYzpYG+7YX delta 35 tcmV+;0NnrE@Ce)R2#~=L&BM=N`Y<9(zDqgB2OXfsfzgH00kzQriZ@o|5#s;= diff --git a/SoloKing/Asset/UI/GameEnd/WB_GameEnd.uasset b/SoloKing/Asset/UI/GameEnd/WB_GameEnd.uasset index f19c8734566dfe2730614af2b62aecb97511673a..b1d9655a82120f54aa041ad29545b96395ad9f29 100644 GIT binary patch delta 135 zcmbQ)%Q~}{b;3-6u7JA9JQ~HW6HPU*JrBECuyN(>2O^9N3=F0~3<9h`TvAk;I+^j2 z=w#U!nv?Ax@k~yCVljE$bLGh&9=lAoeXa|n1tzyYwwde=#9WUZC)++V2aDA{a+~b^ Z$Y^rUQ%x}6=cxghp779U^TQ`Q5&?soJ)Zyo delta 118 zcmbQ)%Q~}{b;3-6HR(nz-FhAV8**OqZ#hx^Yvan>4<;{uVmCSdNx~5W4Fn+&&@%iUiVxX%yw-Moc#Hr`s9@lbtktx L6y5yr$&N$-Ut2!; diff --git a/SoloKing/Asset/UI/GameEnd/WB_GameEnd_PlayerInfo.uasset b/SoloKing/Asset/UI/GameEnd/WB_GameEnd_PlayerInfo.uasset index a47992304da6764c50c452fade6db940142d4ee0..21ac837947d60176be079a9b5b90489a408e1862 100644 GIT binary patch delta 29 ncmV+&0OJ3`_yfZD1CYTGDrxZf5Ct_$k_)cC8@$v%vC(n+*(DCo delta 29 ncmV+&0OJ3`_yfZD1CYTGwn)_Op3f9Vks%8Uoydn!vC(n+=)wGBIhBXO}~X?Z%Z-TLIQH4chjJ~;0+5*yr@Jn=zFclhiel-AZ-ofjKs50+5*y8a)6T_feZbyNuV_t-_W^v8gPz*3J&m delta 29 ncmV+&0OJ4E>jKs50+5*yvArWrUcVzxmU!l0?$5<-v8gPz=H?Hm diff --git a/SoloKing/Asset/UI/GameRecord/WB_RecordType.uasset b/SoloKing/Asset/UI/GameRecord/WB_RecordType.uasset index 9af79aa21ffdd23fe406d4398de70f0f0b6653c9..15bebc1f6def5bd321b49e296ba35e0379b439b0 100644 GIT binary patch delta 29 ncmV+&0OJ3I@d1SK0g#yxuSa>A*$R(Gv8kSPmSqy7v8mg4)b9?j delta 29 ncmV+&0OJ3I@d1SK0g#yxOY&U2c46W~rp5c>U8XPzv8mg4<3? delta 29 ncmV+&0OJ4eR=4nkZd`fg2ms5P4fX&4 delta 29 ncmV+&0OJ4siUa+M1CW^z|1p#iU&(PzslxNVUDq?(v8mL=PC4&wp(|{XS~Y%v8gA+-JcJy delta 29 lcmcc6&U~SrdBRMA8K>9jX3>uKls8v8gDV^t%wf delta 29 ncmV+&0OJ4Aw*t|(0+5*yig{V=Rpj(Vw8+ORVo#(0+7KFC6Y!7F>J+2qZZABI9z`AvC;9f&1Vjz delta 29 ncmV+&0OJ3`=>o#(0+7KF^E(bZU1qOAn5$vQv`ZS#vC;9f+oca- diff --git a/SoloKing/Asset/UI/InTest/WB_TestButtonItem.uasset b/SoloKing/Asset/UI/InTest/WB_TestButtonItem.uasset index 87e6efe4f1359d012c828ac41d6eb56ab61542a7..447fdb9fbb90a7cd8171a2ae2d3c22db68901885 100644 GIT binary patch delta 27 jcmeCL?ysIOQ{YYGk4qN{mbz{HA0sbt_^#Q;mCtMd*5nU8 delta 27 jcmeCL?ysIOQ=mmXLted_(YN`}Bc0OdXJADM}P3u5PtST(nDl6{|v8f7q+P)2= delta 29 ncmV+&0OJ3%^8vH-0g#yxvb#C4C(J8Bv}q!mfudo(v8f7q+j|Z* diff --git a/SoloKing/Asset/UI/SelectGameMode/WB_SelectGameMode.uasset b/SoloKing/Asset/UI/SelectGameMode/WB_SelectGameMode.uasset index 7d44b0a8009da4b214a54ddaead2b51a1cc1c6c0..5abd756b4fe14b0ad5d4eff5ca451bb5ea493423 100644 GIT binary patch delta 29 ncmV+&0OJ4urUU<`1CW^zb#GH<)+Z`Vff3ikOsx5Bv8mS5)nN}N delta 29 lcmeyrjQRgE<_R+e3_{;Ih_&o?UKyX37~H`$apTHsmjKS+4io?Y diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_AllWeapon_Item.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_AllWeapon_Item.uasset index dcf3622222e4c77cc4ee79a0ace67398fc89c36c..7e11a00d0739eef22ca881d33eea58717dea4729 100644 GIT binary patch delta 29 ncmV+&0OJ3^kOIJv0+5*yFL;qIB=0~%g{}?2RkKa{$*%4&(p; delta 29 lcmZp;#n^C*al%XiuQ^QX)uu-I_I{h*cKe;j+l?#3a{$V<4x|78 diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_AllWeapon_Type.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_AllWeapon_Type.uasset index b631fb611bd0bb971b550fed09292f51e389fd0e..236820d785b4ecfeceed266cc42c8c2814bb85d0 100644 GIT binary patch delta 29 lcmZp@%Gi39al%XiXWla#(mad&_AhgjxltBtw{hj2OaQ@x4SE0o delta 29 lcmZp@%Gi39al%Z2AmNANyhWXEi(>_UI$S(!xN+s3OaQrl4O0LB diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponDefenceItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponDefenceItem.uasset index 1c4abb0c8a7c57be470c3e589422f47fe1377076..6f2aaa9f991c39092fa8262c3f453f2d4a643c1a 100644 GIT binary patch delta 29 lcmaFS%lM*~al%Z2z>E8DC|CUTY~P>dx>xRz&c>DYZUEk%4t)Rs delta 29 ncmV+&0OJ4XjREM50g#yxsms1PQ0x;&ne)-K4?54@v8g{s;ExXu diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponItem.uasset index e043a5b65038744d92c3a90d7af3036fe790f6a1..3e72e098eb4471cb767182e0421147ec915defef 100644 GIT binary patch delta 29 lcmex$it*Pe#tAb8B3wLYnEfbs-CQao9$G!&(Z-b*QvlXA4p#sG delta 29 ncmV+&0OJ4p$^rVy0g#yx$K}2xs$q>zw~xk_lUTLnv8mBy`L+=4 diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponItems.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponItems.uasset index c8a2927a50d629637d09bd7ffb43ac706a23794e..c304654f5c45a98adf2ebd6640cc46d99a83327e 100644 GIT binary patch delta 29 lcmZo_VQOk&nlMw~htq?j+i$$}ZGW*`g6&9}=f;(hjR4p-4$S}n delta 29 lcmZo_VQOk&nlMvf?z_KhpE`~bSW3`hU~ delta 29 lcmbO{k8$!m#tAb8qF)@ diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponPartItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_SelectWeaponPartItem.uasset index 83c5704be85b19b426a294a946943f15a0d73681..8dae05b3962b04adea73c81f4edf361b432e029d 100644 GIT binary patch delta 29 lcmZ3|#ki!4al%Z2O^I54&x6kTPq@~&E40Jx%Epz|E&$BG4p{&I delta 29 lcmZ3|#ki!4al%Xiu19JAOPnuwEvoeX6>y)?c;m`y7XZhW4VC}^ diff --git a/SoloKing/Asset/UI/SelectWeapons/Child/WB_Spectator_SelectWeaponItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Child/WB_Spectator_SelectWeaponItem.uasset index 5381170e9081acfb27d6536a6e679becfe4b760d..3ea89b9f9c8deb5fc5c829a94d232f56c3a9abf8 100644 GIT binary patch delta 29 lcmX^Ap7H#9#tAb8@;-5;DEl1n+t7FGM44%p|HhSS=Q=B$f$pY}0LKfRXq(8iUA^8wxC4wnD` diff --git a/SoloKing/Asset/UI/SelectWeapons/Item/WB_WeaponPartItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Item/WB_WeaponPartItem.uasset index cbfa8dc5dd424c835a63519ca68e0d34b9385227..6604eb0428faedbc5bb1698e13c6793166109088 100644 GIT binary patch delta 29 ncmV+&0OJ4upaTD(0+5*y-xkv~xW)WWhY(iSrS{A1v8mRN@JJCD delta 29 ncmV+&0OJ4upaTD(0+5*y1MEZ-HKf}`x!w>4q%$B{v8mRN%M1;7 diff --git a/SoloKing/Asset/UI/SelectWeapons/Item/WB_WeaponSelectItem.uasset b/SoloKing/Asset/UI/SelectWeapons/Item/WB_WeaponSelectItem.uasset index b097f4796558e3fff870c7865aa4e2ce83c36284..a1943fda807fe6def9b68c0167d86bdb3993186c 100644 GIT binary patch delta 29 lcmX^1mhsqI#tAb8{I3NDb~wBEt!H~y?)N81apOwaG62(p4T1mw delta 29 ncmV+&0OJ3~?E%K^0g#yxxr)xTl2PDCh`$E*qGSbFv8f$)?zImD diff --git a/SoloKing/Asset/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.uasset b/SoloKing/Asset/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.uasset index cfb62c0a32ea8b54dfa630c02c28d50d365cec37..2c88183960eb0aa024bab5e210e32ce92bdcdd11 100644 GIT binary patch delta 29 lcmaFT!~CR&dBRMAZuZw)TDy0;_VLP0&Gh**cjL<4M*+mN4gLTC delta 29 ncmV+&0OJ4Tj05D11CW^zY5kH{?tLLcwc75@j1)fLv8lVo>(emXA<6I~2mHBcVuQ-3^Y+QNE833*84A}qx delta 29 lcmZqfWNhwaoG?>hpF delta 29 kcmbO*n`r_N%@n9vFUqslDZ^#Dn(of&#?=-ZS3d6n0Il8(XaE2J diff --git a/SoloKing/Asset/UI/SelectWeapons/SelectDisableChild/WB_ShowDisable.uasset b/SoloKing/Asset/UI/SelectWeapons/SelectDisableChild/WB_ShowDisable.uasset index bc1d847645fc7e83ddf906324cdf36743cefd60e..cb17c7ffdfa00bcddf2b19c7f49b15141b32abd0 100644 GIT binary patch delta 29 ncmV+&0OJ3yu>r2J0g#yxYPQ>2uNp5!lkAKCr2J0g#yxEzM(nchiMVowTKE-Eh8+v8e@E)?^N% diff --git a/SoloKing/Asset/UI/SelectWeapons/WB_CustomWeapon.uasset b/SoloKing/Asset/UI/SelectWeapons/WB_CustomWeapon.uasset index 7901c25f817f13f2476793afbcdfe80505bbbdd1..3d3d5d9ff78d5d672235d86ba71f9ecb2c65e7fd 100644 GIT binary patch delta 29 ncmV+&0OJ3q`U9r=1CW^zWE0F_js})XpU+OKB&4^cxb diff --git a/SoloKing/Asset/UI/SelectWeapons/WB_CustomWeapon_New.uasset b/SoloKing/Asset/UI/SelectWeapons/WB_CustomWeapon_New.uasset index 457f5a4586d7904662ab1467d7f9457a02662402..c824e969e346c5946ab0f33420ed6c5876f0fdbc 100644 GIT binary patch delta 101 zcmV-r0Gj`~(*(KG1dy2!$4#1_CaIW3r);!#Yg_&%v8mw6lm5*avoOwe0|5e)|IHWy zXp>RVRFhoIO_LAJO_ROMQj>YiM3XhlM3e8!Mw6$@NRwU5N|PGPLzC9ZL;(SlG0sr4 HsnHNvK`Ju9 delta 118 zcmdmanPul?mI*TjKKD#ic<7((GtIlU!~U1D?#7i5PEL-v=sQ{DqRZrq7n~=zU+|i2 zf5Bt&&+~4Rx1M*ITnNPS=Yu9+I_EpN6^ISag-$+jnnjF}fq_8_h(UlAh)aq}QyG{x Qcb)2G2FY(;c~Kw&09>9lEC2ui diff --git a/SoloKing/Asset/UI/SelectWeapons/WB_ReselectWeaponBtn.uasset b/SoloKing/Asset/UI/SelectWeapons/WB_ReselectWeaponBtn.uasset index 76f33960b0880dffcea8ef870fe0acb36078013d..50e87663ebb36a27713f07140410e045b5e333f7 100644 GIT binary patch delta 29 ncmV+&0OJ4d(gE($0g#yx^iIG0MVCKKvlx}nbyq=yv8lyq?Jf^z delta 29 ncmV+&0OJ4d(gE($0g#yxz(axG`;z`oih@R*AIuF4v8lyq@>vgY diff --git a/SoloKing/Asset/UI/SelectWeapons/WB_SelectAllWeapon.uasset b/SoloKing/Asset/UI/SelectWeapons/WB_SelectAllWeapon.uasset index 97094af61d7d9c70695f64aec73b420bee39adf9..67a56d060280ab706179c7b8fe48393185960524 100644 GIT binary patch delta 32 qcmV+*0N?+r#0RRx2auT%8Ueb6P~P`Tyq3~iT(yxSfvL5r0fFHF9}pb? delta 32 qcmV+*0N?+r#0RRx2auT%xvKx delta 29 lcmex=iuwO3<_R+ec9r?;XmG6ZnC+b_93G<@y>aEWCji<`4mJP) diff --git a/SoloKing/Asset/UI/SelectWeapons/WB_SpectatorSelectWeapon.uasset b/SoloKing/Asset/UI/SelectWeapons/WB_SpectatorSelectWeapon.uasset index 8b997eef84484f1806579df63e40e6d12cf76dfe..03fd4b39e36c132972f90bf72455c21e6d3d3908 100644 GIT binary patch delta 29 ncmV+&0OJ3*)dIKG0+5*yyR?gswC#{Uz4Tk%7L@?mv8fKK@B7xGbdo@^)9<+Rz(cjL-yivZBX4VnM| diff --git a/SoloKing/Asset/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfigPartItem.uasset b/SoloKing/Asset/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfigPartItem.uasset index a3378ae7f69db877ab37577ebf3fcca8840b25b3..052e54504bfee3dc54f918375411d5593c06d88a 100644 GIT binary patch delta 29 ncmV+&0OJ3er2?9z0+5*y64fjmr@vC)&#+M*AJ delta 29 ncmV+&0OJ4TrUT@r1CYTGwJr!Tt}X6Cu9`#sC7mxCvC)&#&Z!O^ diff --git a/SoloKing/Asset/UI/Tool/Child/WB_PlayerInfoItem.uasset b/SoloKing/Asset/UI/Tool/Child/WB_PlayerInfoItem.uasset index 22eb7b3eb1d44cb0787e189e35cc6961ba2a9ee2..02d4b1a7cf401ca55eb8dba6aaa22314566b5263 100644 GIT binary patch delta 29 ncmV+&0OJ4G>;u>A1CW^z2BF%B3QGV*zp`LAS`n;mv8k^0&p!?F delta 29 ncmV+&0OJ4G>;u>A1CW^zjde{&V`}kBp#uf9${YW_v8k^0++Yu3 diff --git a/SoloKing/Asset/UI/Tool/Child/WB_SelectMapItem.uasset b/SoloKing/Asset/UI/Tool/Child/WB_SelectMapItem.uasset index f938ae3e031d2924243fe41f99e02e8f7dddc632..9fd3d32aa84cc2822ad17a328827b2ac9841bbbc 100644 GIT binary patch delta 29 ncmV+&0OJ43n*z$40+5*yuR3&R$pKbOq7(Yk&{Pxav8f@A%76{y delta 29 ncmV+&0OJ43n*z$40+5*y0&!ueQDT!ryNkWa+VMThv8f@A&9n}* diff --git a/SoloKing/Asset/UI/Tool/Child/WB_SelectPartButton.uasset b/SoloKing/Asset/UI/Tool/Child/WB_SelectPartButton.uasset index 2133c8376bfc591e24b8bf384f4cc8fefda1cd0c..f425c11a34f2efa5f2084aa7b5d24f7ac0c6573e 100644 GIT binary patch delta 103 zcmV-t0GR*Ut^wMv0gxCa4Nr+5w|>v8qDuWX3IG5A?P##%=|YtB3)(TFLAypS z6p=k#5Xntv_SVqYNuWMH`*2998L_FtJd;sADU%03G?V*243pkHGn4l|5R-a7I+JTX J>a#mP9~i{wE{6aB delta 99 zcmV-p0G$8Yt^wMv0gxCa?P##%=|YtB3)(TFLAypS6aWAK4Nr+5w|>v8qDuWX z3Xwfr5RrYnzA}rQLbbG^h6{KmL$RsCJd;sA>XUChC6jtSI+F)J5R-RA6O-pXFtZ0g FQyAjGD((OP diff --git a/SoloKing/Asset/UI/Tool/Child/WB_SelectPartItem.uasset b/SoloKing/Asset/UI/Tool/Child/WB_SelectPartItem.uasset index 6714bb4588d4f442f8c819c0ddc7350b6633d3ed..50d3f56ffae5645a39355e74fc0648c0844ea7d3 100644 GIT binary patch delta 126 zcmX@VnDP8##t9OtPmFGC;Pvm6-(Giq%_6VAW?T#m3~w_wJbCFf6Fv~lHPb4G^Az7`Ubk5~#!uC+9pEMUbm*}+nGa=(?- eWL`^UAT2O?uZ0|>G4xS7xTpcnw|&opNM delta 114 zcmV-&0FD38qXEyO0gxCa?P##%=|YtB3)(TFLAypS6aWAK4Nr+5w|>v8qDuWX z3Xwfr5E4?s4diWALbIGZ9e}ynY_X}MHvs~ZO*j~{#5qa_BCdezdKZbW}~Z(P~Bl5y)wrW6$b6(A31 diff --git a/SoloKing/Asset/UI/Tool/Title/WB_Title2.uasset b/SoloKing/Asset/UI/Tool/Title/WB_Title2.uasset index e25e60530b3997d4de633a8f97c08e2419b80dcc..7c59a10be95b7a4d2ed2ae09103e570508b49814 100644 GIT binary patch delta 29 ncmV+&0OJ3Q?E{SM1CW^z5QhFb#qzLAkqEuN4j1~tv8m(r+kX$) delta 29 ncmV+&0OJ3Q?E{SM1CW^z(wBR-22T`1qX-C=po`Ysv8m(r%sURy diff --git a/SoloKing/Asset/UI/Tool/Title/WB_Title2_2.uasset b/SoloKing/Asset/UI/Tool/Title/WB_Title2_2.uasset index c75698b6e087a55594e15780c389f0033a863832..fdf45fe48f371c81ac8d6bf25b0fda3a6d556188 100644 GIT binary patch delta 35 tcmV+;0Nnqj!w99r2#}c&`K5w$@wdZ3gucnWC((c}fvJV50kx?D{2*7E5}W`4 delta 35 tcmV+;0Nnqj!w99r2#}c&LGGReiJSpUqX34)6(cT}fvJV50kx?D{2&wE4;%mh diff --git a/SoloKing/Asset/UI/Tool/WB_DamageTextButton.uasset b/SoloKing/Asset/UI/Tool/WB_DamageTextButton.uasset index 3a5820777a3c61224bff9aff3b20e134f8b24d4b..40593053ac77190ef0b2893bfcab913adba67479 100644 GIT binary patch delta 29 lcmeBM&)Bz~al%XilP<0Y|D&BeH{2)}=40P$xpC#wFaW&I4D|p2 delta 29 lcmeBM&)Bz~al%Z2pbz{hrvo>;FG-q~=VaxPvT^0pFaW^%4M+e0 diff --git a/SoloKing/Asset/UI/Tool/WB_PID.uasset b/SoloKing/Asset/UI/Tool/WB_PID.uasset index 2c51347fc5a72d5042f1a6c756831f2cd1021dcb..d679f62cc22979b6dd19388af3c29196b4fce7d2 100644 GIT binary patch delta 29 lcmaF5fbr=9#tAb86jLJqnQ6v4Enup#x%|28|HhSj`~k;o4jKRe delta 29 ncmV+&0OJ4UpaJEe0g#yx6?o~AQ*+%$iHNLTCAYfRv8lXI*~bqh diff --git a/SoloKing/Asset/UI/Tool/WB_PlayerInfo.uasset b/SoloKing/Asset/UI/Tool/WB_PlayerInfo.uasset index 61886d2fbb80c95968c5b41ce604b520f2b8c252..96ba35a30084b6dc7d91d205ea9a3c3d1c7a7b56 100644 GIT binary patch delta 29 ncmV+&0OJ3aumhH`1CW^zcP^uY{y@Y{o69#d=*NX%v8ip>&+`uG delta 29 ncmV+&0OJ3aumhH`1CW^zR{Mf+*Smj8tWKeCYN0Jgv8ip>)C&%g diff --git a/SoloKing/Asset/UI/Tool/WB_RankingListBtn1.uasset b/SoloKing/Asset/UI/Tool/WB_RankingListBtn1.uasset index f2405f7f8c5c2f39c32669b1a8e3faf671ec0d4d..c3e71ad2f2b8f1a5e8ae5e07d6d7ad5125576e44 100644 GIT binary patch delta 29 lcmaENn(^If#tAb86r7aKe`EOTx=O{T;LoQ(#f>XnQvujQ4krKr delta 29 ncmV+&0OJ4d%K`4o0g#yxxfDsB#)EuFwib9!=PCG~v8hF6-oy^9 diff --git a/SoloKing/Asset/UI/Tool/WB_RoundEnd.uasset b/SoloKing/Asset/UI/Tool/WB_RoundEnd.uasset index 93575172a83b7edaa68795768ea0248788a3cc3a..ba2a6b8113df239ea80af6d3fae00e8e21aeef7d 100644 GIT binary patch delta 29 ncmV+&0OJ3yg#oUG0g#yxbmXep$w?PaxlOy^qq(2XluodC_54XywH diff --git a/SoloKing/Asset/UI/Tool/WB_SelectMap.uasset b/SoloKing/Asset/UI/Tool/WB_SelectMap.uasset index 75578ba74aac13a9a963528b67cb1566481346fd..adbf7451952608ba58c28814b2984ea746a34a46 100644 GIT binary patch delta 29 ncmV+&0OJ3o{Q;!?0g#yxwWrExOFjfdwYmwO!h;&zv8nrg+ZPW2 delta 29 ncmV+&0OJ3o{Q;!?0g#yxrUO~%Si}EBh^`ooS0jU>v8nrg-CGY5 diff --git a/SoloKing/Asset/UI/Tool/WB_SelectParts.uasset b/SoloKing/Asset/UI/Tool/WB_SelectParts.uasset index 9415389e9df5787243d239c5ca29da4b214b294a..cfafe2dd4dcb2f0e6dcca621effe38e31fb931d8 100644 GIT binary patch delta 69 zcmdnAfpOCY#tAb8eu&1*c;2Ppx;b{S?v}j!X&YAxS%@(*Ffd30F$k~%aY<2WDg(ph Vm6jfpe^~HLuC~gGVphjIWelN6T# diff --git a/SoloKing/Asset/UI/Tool/WB_SettingButton.uasset b/SoloKing/Asset/UI/Tool/WB_SettingButton.uasset index e6d17e80d72729ad07b6c27eb6b0c44abe1d6c84..8d5c6d12e41516651a33ebbe26bfbd50a6fdaae7 100644 GIT binary patch delta 27 jcmbP`J0W+%OaU3Kb~WE6Z=5F2i&UAGsoT79<#SU2qGb#j delta 27 jcmbP`J0W+%Oo3~boAgA^`uO%uT6p=Zuf6rgmCsE9wXF?f diff --git a/SoloKing/Asset/UI/Tool/WB_ShovelButton.uasset b/SoloKing/Asset/UI/Tool/WB_ShovelButton.uasset index 23645187ef2a470048cbcd092437408a1a3bd0da..3a3938926c699aa5678ab28c47de6a364a84ea1c 100644 GIT binary patch delta 29 ncmV+&0OJ4oumSn70g#yx*D*&KQs=WtoEXZ=ldYXrv8m8k-JTC8 delta 29 ncmV+&0OJ4oumSn70g#yx+{rz^@itmXr0gcZ%Q=&}v8m8k@l_B( diff --git a/SoloKing/Asset/UI/TwoConfirm/WB_SecondaryConfirmation.uasset b/SoloKing/Asset/UI/TwoConfirm/WB_SecondaryConfirmation.uasset index 70dbffcc63bf91fd455a888ee15c41e0ca77c85d..c273084dcaf8317ca0a9a3874ec6bcb20afc9daa 100644 GIT binary patch delta 107 zcmV-x0F?ijssxy-1dtdd4Nr+5w|>v8qDuWX3IG5A?P##%=|YtB3)(TFLAypS z6p=lI5M<~0_VEXHO1-?s?p`J>sIk$*gp){z9h2dRACr`bO_NNBRFepZP?NofOOw5Y NJhPOAxB;?>7>u~{GpYap delta 135 zcmbQSie<(smI)H7Z!L~W<)(H}-PmFGC;Pvm6-(Giq%_6VAW?T#m3~w_wJbCFfk&Ec)@751W+vlBM_T_7(l=Z#3epc-x#WP?WVr)jlh5uCoLs#>XtLgZ+s#aS*qJx; I9AcdT00yl=FaQ7m delta 151 zcmbQZg>~W<)(H}-Z!L?2#~=L?2#~=L1ZJdJ=;Dq*tKN$tk127YfzgH00kzQrZ6H1J5ibA$ diff --git a/SoloKing/Asset/UMGTemplate/General_AvatarFrame_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_AvatarFrame_UIBP.uasset index 6a02d4244b9d671ae1809e0cdcb527743d8e3001..bb5a8e551947cfd40cf7688e4801c690683f1781 100644 GIT binary patch delta 27 jcmaD9{3v+BOo3bHMOA;lxA$9Y`s2B{@HwW9D=jqv$~z5f delta 27 jcmaD9{3v+BOaZejPS2Aj-0lt0O){ZJrF%B6wA2IupS=p( diff --git a/SoloKing/Asset/UMGTemplate/General_CheckBoxButton.uasset b/SoloKing/Asset/UMGTemplate/General_CheckBoxButton.uasset index 8784e16c0595e8a599712fe5da00663ea4b695ad..905625249a114756bbbc61bca64b5af5339519c2 100644 GIT binary patch delta 27 lcmV+$0ObFvWT|A3nGms+oWobt^iPjk6;Z}9sid)~fHBBG4g~-J delta 27 lcmV+$0ObFvWT|A3nGhJ@GQLwNYEHeSugGtq&fu}BfHArq4iNwV diff --git a/SoloKing/Asset/UMGTemplate/General_GameFailure_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_GameFailure_UIBP.uasset index 83da199bc6e1f1bc00677c11a462f57264cbcfb9..b645f9d73c5d1125325c824e5e69b56105fcc4b0 100644 GIT binary patch delta 29 ncmV+&0OJ4R_XFbh1CYTGX0bdyF#Bvwys)HGvFksuvC$Fx?EDZ3 delta 29 ncmV+&0OJ4R_XFbh1CYTG38kyciK>J|qdhK(b_g8PvC$Fx=Ee@o diff --git a/SoloKing/Asset/UMGTemplate/General_GameTopBlueTips_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_GameTopBlueTips_UIBP.uasset index e63a1aae9d98dc9bb587afa5bca80b1899de8d68..8342533031bbebe386235dac520b1cd71aea7b94 100644 GIT binary patch delta 29 ncmV+&0OJ3S`2vpl0+7KF&KTn67qk;Vr#0s977ln4vC+M|+1?JB delta 29 ncmV+&0OJ3S`2vpl0+7KFH_!b0+7KFqhO2-RicGQzRD$$41b1(vC*cq<^B&h delta 29 ncmV+&0OJ4m>H_!b0+7KFa}My)T-^geo)u%XGN(O_vC*cq=g1E) diff --git a/SoloKing/Asset/UMGTemplate/General_GameVictory_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_GameVictory_UIBP.uasset index c84771de94a28376d727f4b0a6655fffda16587a..3528b4982d413fd1358119ca21d41e3b6c33d33e 100644 GIT binary patch delta 38 wcmV+>0NMY~s|?Sp43NPP)FEm1w<%CVj5w?qYUV_EfzgH00fo^5wb29q6l&HIWdHyG delta 38 wcmV+>0NMY~s|?Sp43NPP?On8dd$PSxxcWlfKN`%7fzgH00fo^5wb29q6qB|TJ^%m! diff --git a/SoloKing/Asset/UMGTemplate/General_Ingame_BloodVolButton.uasset b/SoloKing/Asset/UMGTemplate/General_Ingame_BloodVolButton.uasset index 77f9fdf9f8c5df77c6d6ef48fe81aec08148069e..e798489811371b4bb7406509078e33c92e6f895e 100644 GIT binary patch delta 29 ncmV+&0OJ3io&uhp0+5*yIpm@sO5hbksN~n=v1$13v8i>A((Dhr delta 29 ncmV+&0OJ3io&uhp0+5*y4v?}xh^QDvy@Eq$>U;3cv8i>A!EO#a diff --git a/SoloKing/Asset/UMGTemplate/General_Ingame_RingButton.uasset b/SoloKing/Asset/UMGTemplate/General_Ingame_RingButton.uasset index 21f9328d0ed244a9d74246e62e02757108bba97d..faa63d61522e0876e7f3ce3e2500e9feb272fbac 100644 GIT binary patch delta 29 lcmccF%y_ezal%Z2=^DOQB*p%DbSv)O^;hC!&&HJojsVCt4aWcg delta 29 lcmccF%y_ezal%Z2yKN;=-8n~mdg}zso=$#tf8$C6M*!D`4#ofg diff --git a/SoloKing/Asset/UMGTemplate/General_Ingame_SquareButton.uasset b/SoloKing/Asset/UMGTemplate/General_Ingame_SquareButton.uasset index 74bf17a5ff727a51c4f6e361f0e010c00759a6c8..921bc4138d133b1bfc714c2372e61882bdd49983 100644 GIT binary patch delta 27 jcmeCr@6VqwQ{df(H5ILQUEI4lW<0vo|3P!(%4cQ(%I*&0 delta 27 jcmeCr@6VqwQ=p(~k%HZ-Zr8mx)u)__?Z3Wp diff --git a/SoloKing/Asset/UMGTemplate/General_NoticeTopTips_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_NoticeTopTips_UIBP.uasset index 63a1ab659c2a8827f1dc1ac35d58592e8353521b..20767c3095834fcd3081c01f291cf182c531aa87 100644 GIT binary patch delta 32 ocmdmeh-LR7mI((11ic=!cZAjZ^{aK-)xT%7YrMGiB4d^U0P6}3-~a#s delta 32 qcmV+*0N?++!UVg*1dzcH-`v>coQC;AtrRt*VU|h#fzh?m0cs#C$Psb? diff --git a/SoloKing/Asset/UMGTemplate/General_Player_infoBar_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_Player_infoBar_UIBP.uasset index fb639e4146cdd713f8b316fdbd2def67ec984a3c..4dff549a5c2e72f031321050f5dd99cdcf427e5a 100644 GIT binary patch delta 29 ncmV+&0OJ4fvjXt50+5*yKs>nm)${^Fu3#i0``_D7v8hLy8lE$iW+GMe*1vkaT4axuj delta 27 jcmZ3Nzb=2mOabjloy&LMed@ko<2I{CU$xMUD_P9}#wQI$ diff --git a/SoloKing/Asset/UMGTemplate/General_SecondLevelButton_2.uasset b/SoloKing/Asset/UMGTemplate/General_SecondLevelButton_2.uasset index e2f8f5d8d1a08751325da5a5e214d4f8058464ce..6e2aa81589e8b1f60683a36d3f6546a709728cb0 100644 GIT binary patch delta 27 jcmdl|wxw*sOo7hhOI?)fz5F-L=~1g}-2HRo%5EzFzS|AY delta 27 jcmdl|wxw*sOo4Rf)|)Dw&JNp8URx7)Zpo^RE4!@#y}%A3 diff --git a/SoloKing/Asset/UMGTemplate/General_SecondLevelButton_3.uasset b/SoloKing/Asset/UMGTemplate/General_SecondLevelButton_3.uasset index ae2627e63170fd7a94e0c71bed2cbfa4be18792b..a52fdd87afd629eaa3908b7a742514582f481ec0 100644 GIT binary patch delta 27 jcmcazc)M`IOabFqMM=iD8g5&p|JaypI(&EIN+SyZs^<(z delta 27 jcmcazc)M`IOo4*#>khKU&hC@{hV?xjBb-4qX5M delta 29 ncmV+&0OJ4r-va#K0+5*y%x~|JgM73@v8klfr65;+v8hw9{e=*0 diff --git a/SoloKing/Asset/UMGTemplate/General_Shop/General_ShopPreviewItem_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_Shop/General_ShopPreviewItem_UIBP.uasset index cdf38268402ed441c83ed84a700320f20d3ac1b9..343916672a51c4eda35cb7d97616cb1e999bf9ef 100644 GIT binary patch delta 29 lcmeymhVknf#tAb8{_4Hfd;O`+XF+OdMnX`9^v0EELILU*4-)_Y delta 29 lcmeymhVknf#tAb8__(6Gcg+xW+W7f{i?vmj|HhSPLIKMb4WIL-8Lh2aYx<4gXE`Ne4B-F( diff --git a/SoloKing/Asset/UMGTemplate/General_SwitchButton.uasset b/SoloKing/Asset/UMGTemplate/General_SwitchButton.uasset index 4151fa8372f68eb171fd669d7b4a1ec1c0f456d7..67c869b8c71f12d2ddf6137b449a630da5b3fd7e 100644 GIT binary patch delta 29 lcmZqgW@_(dnlMwq{JzUJyJd+ktCE9$H&zzR*tqgu3jn?H4if+X delta 29 lcmZqgW@_(dnlMu!^7jD;#`t3Yg%=)npP4x0#m1HQS^&t44^998 diff --git a/SoloKing/Asset/UMGTemplate/General_TMode_Discard_UIBP.uasset b/SoloKing/Asset/UMGTemplate/General_TMode_Discard_UIBP.uasset index 1d2999e4ef1e8c2526c302b83a204f372bf96142..487fcf64c5d2318b466da922a2ac6412c5c6a444 100644 GIT binary patch delta 29 ncmV+&0OJ3p&BJ6aRAeL4fFs2 delta 29 lcmdnCk8#^R#tAb8rifm?d8ek*WA(?j+BhB-$&D*};{e&-4gCNB diff --git a/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_ItemSelect_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_ItemSelect_UIBP.uasset index 417ea210c409791346a3e3eeede2147a65985ea9..04ea3b332dad594d8f7803ab5281b56db5f379ad 100644 GIT binary patch delta 29 lcmX>-i}Ca<#tAb8e7trWfAZyV*!0;g+d`TB_{Nosd;q}^4BP+! delta 29 ncmV+&0OJ44ngPq20g#yx9vE*;qf5w6ol(68)e1+^v8kd=yCw|m diff --git a/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Main_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Main_UIBP.uasset index 0b9a42a02d8280f193c8d0ea6ce1a32f38007848..82177fd4ce06f1451fb417b15bc0d5966eff218b 100644 GIT binary patch delta 29 ncmV+&0OJ3}uL8xd0+5*y@K+C7;TrZrily>6-`JZ5v8f!F+CdJ- delta 29 ncmV+&0OJ3}uL8xd0+5*yf%rI>UtjW0x4d{VZ&2shv8f!F-JlN@ diff --git a/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Playerlist_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Playerlist_UIBP.uasset index a5810e42fa49e51f3866c21566ef56304e4b8bda..0a122fbdc82a12e79a38faac462e424ac2f9a165 100644 GIT binary patch delta 32 qcmV+*0N?-Btp?St29TK$3+vQ6)i=^km5@fg1Cc=UfvL5r0W6jX6A!ci delta 32 qcmV+*0N?-Btp?St29TK$3fQ_sv8fYM<<1W% delta 29 lcmdn9lyT2e#tAb849cwZd!k}pr&qp6vp8mbYU4`bAOO2J47C6N diff --git a/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Props_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Props_UIBP.uasset index f1204b5930ba103a19899648ff9fb16fa0d4c008..9a8efd24b16c84a289a2bbb182c88d2cc1decad9 100644 GIT binary patch delta 29 lcmeyigX!B2rU^3zaxR932D}hqsjvjN%u4tf9p delta 29 ncmV+&0OJ4lxB~XL0+5*yEG=3aff}?&nAT<-;(OKbv8m0Q%_9!d diff --git a/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Settlement_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Peekaboo/Peekaboo_Settlement_UIBP.uasset index 2a8b40c97309c51b31b227b558f67ef1ae0491f7..0ab3b9781946fea2b52003f8ba9e956417a554a3 100644 GIT binary patch delta 35 tcmV+;0Nnq{lnTj|3Xqu)h~l;Cb+|T9vO{KF@l4|hfvJV50kx?Dpou|E5rzN& delta 35 tcmV+;0Nnq{lnTj|3Xqu)6PxuTxf7p8kE`my!q-y5fvJV50kx?Dpouz`5%K^4 diff --git a/SoloKing/Asset/UMGTemplate/ReuseList2.uasset b/SoloKing/Asset/UMGTemplate/ReuseList2.uasset index b3410f8a462e9d345a00b7f02dde0934c75cb97c..b60175aca9e44c9cdcba471d7fce774d54a95ddf 100644 GIT binary patch delta 27 jcmaD}_`Gn!Oo4|Ci{8I`(&5s5odv+11(2B#ry9xItAUw7q_>rUZH`bBfvL5r0T)gN9Sodv+11(2B#N>xSLL{8sGiL-2}od4V*fvL5r0T)jDi4RNw diff --git a/SoloKing/Asset/UMGTemplate/Settlement/General_ListDataBG_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Settlement/General_ListDataBG_UIBP.uasset index 272827b32b1b7dc692d3dbb77f2467e062bc0ad7..dea43a2bb1d2d67b7b9ca009004a3c00bfee9d82 100644 GIT binary patch delta 29 lcmcc9z<8&Dal%Z2sZ&y!t1a?;8a}U-b1u5$y>aDcdjP_b4O9RC delta 29 ncmV+&0OJ4LfC1cq0g#yxmH_%p@lt?5me!l9dLRPqv8l5^(e4gd diff --git a/SoloKing/Asset/UMGTemplate/Settlement/General_Team_ModeList_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Settlement/General_Team_ModeList_UIBP.uasset index ea01e82ad7989b61c05ffa18f70958509144bc25..51447492dcd688b1ff328a7c8f1f6b17de3c9546 100644 GIT binary patch delta 32 qcmV+*0N?-KuLRz&1dy2!7DJyX7aw6sr}4Y0hq}8DfvL5r0W}xy(+)WR delta 32 qcmV+*0N?-KuLRz&1dy2!(#{mI`6*dPp2%=0iUOq+fvL5r0W}u~eh!-e diff --git a/SoloKing/Asset/UMGTemplate/Settlement/General_Team_ModeMain_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Settlement/General_Team_ModeMain_UIBP.uasset index e5078a3675b3af68d1885a506ea5a65ba80561e2..98a7f4abdad7de54fe488bb068755e1e76347d67 100644 GIT binary patch delta 32 qcmV+*0N?-Ru?6L^1(2B#2s71i>S6yzk0}1)nW0{wfvL5r0X$d|LJ({K delta 32 qcmV+*0N?-Ru?6L^1(2B#rs@1M<5kv5sM%AYopRu@fvL5r0X$eOixId0 diff --git a/SoloKing/Asset/UMGTemplate/Settlement/General_TitleBattleDetail_UIBP.uasset b/SoloKing/Asset/UMGTemplate/Settlement/General_TitleBattleDetail_UIBP.uasset index aea64fec612cdd2bc8a830aedccc1ed51052cb2b..9731284c27a95ef40843c4ff9ec88deed3751712 100644 GIT binary patch delta 29 ncmV+&0OJ3qqXVX+1CW^z)S3!rWEnFSN{jsVhq4c!0$ diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/Common/UIBP/Common_PopupsBg_Medium_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/Common/UIBP/Common_PopupsBg_Medium_UIBP.uasset index 28208e8adfe4e226be9eabd688be57faa900e387..a9d0cde50f824a795b8b08b8b888ca8d30f8d385 100644 GIT binary patch delta 29 ncmV+&0OJ4qlmq*e1CW^zsm^yhj|6Sg;N?Z%Z>6#(D=4x#`6 delta 29 ncmV+&0OJ4S@d4xU0g#yx$3(>C$*kf-z4L)!+47&jv8g(E46PCQ diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Explanation_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Explanation_UIBP.uasset index 9f2036892150c87aa3ff728b3da53eae72b7b835..3d7ad7c29b2beb2e2dd221022ea7a8df55a4cfaa 100644 GIT binary patch delta 29 ncmV+&0OJ4lq5}4!0+5*yWZ3_Qza`2=s!aF0Gr=(ev8m0F>>m%Q delta 29 ncmV+&0OJ4lq5}4!0+5*yBVgKP5l`_;mN?~6`6)F*v8m0F&~pwT diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Get_FX_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Get_FX_UIBP.uasset index ac2fc9cb371c924ddb307aca71293d411955c831..446084a20149a4e3cf0dc0d9b281aed89138d84a 100644 GIT binary patch delta 50 zcmca~i0#rLwh31yg?1h+Y;ccq-?!yejppwMMvM#$4Cz1|KDlv<#3V-kW>LoNqKu5T F3ji#D5{m!; delta 50 zcmca~i0#rLwh31y6E=IPTz%r^zGU@`{~kNqJ~1*dFr))<_~gbZ5|bGDn?)J7i!w6W GE&u>QLlZp! diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Item_Style1_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Item_Style1_UIBP.uasset index 67562dea85d58741f7f2b8bf9c3ad279e1940730..2125556d7229f34fba97f7d650316ae76dacfb71 100644 GIT binary patch delta 29 ncmV+&0OJ3O>jH}F0+5*y`L767|l4Z8pU diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_PopupsBG_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_PopupsBG_UIBP.uasset index 34a8008b4dd56551d5a398fc7cbd7bb5f4260013..625aad010d11994529642b8f0ef5a4a35c4570a6 100644 GIT binary patch delta 27 jcmdlPyfb*hOo1mRmPxVMydFC@e9K&(@L=V}l>(XowB!v9 delta 27 jcmdlPyfb*hOo1!DUxQPx@OVwPsN#LG_%P4Ll>(XoxwQ<9 diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Tips_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/Item/UGC_RankingList_Tips_UIBP.uasset index 0437552b4a8c6e6527fa52487935eee7f8179c6d..a78e36e11a6f028e2e1e0b119c62d3577eb70352 100644 GIT binary patch delta 29 lcmX>$o$1(grU^3zL`y<;*>;&aFW$c8t8U;H-i<3|y8*#14H5tV delta 29 ncmV+&0OJ3~mjcF@0+5*y!?1?LQTpCPyNZw`iJK_sv8f%4WMN49x%l diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/UGC_RankingList_ItemGet_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/UGC_RankingList_ItemGet_UIBP.uasset index e535c2775bcc844f9ccf4a33f716e6feb6c0cf54..8e292ee2b80c87ef9c8da3a3bc6387dad8ebe3e9 100644 GIT binary patch delta 74 zcmV-Q0JZfTIGx+DRq&b{)k0RR915do8dLn?vUh1mhM*#esz D?Aa6! diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/UGC_RankingList_Set_Popup_UIBP.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Arts_UI/UIBP/UGC_RankingList_Set_Popup_UIBP.uasset index 6d59759c2c3562df2fe838b1dc7594edea9b9473..13898e77732cb4212415784a8d7c5632a6be440b 100644 GIT binary patch delta 32 ocmaFY%lfXDb;3-6c;9t`+4pa|cKV00QU_Jpcdz delta 32 ocmaFY%lfXDb;3*mS&wbM=3OZAnw?@apHX>7OykO}D;Ztg0R0&bl>h($ diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/BP_Placeholder.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/BP_Placeholder.uasset index cfa88ac162bb81f2b84b29cb14935f42c617359b..6bea08cc12c147f39748f968530176774fc244d4 100644 GIT binary patch delta 27 jcmZ1%ur6T2Oo7t+Y%?3K9^a**0zbN>XYg!X*{TizpOFhY delta 27 jcmZ1%ur6T2OaYH;$FH|Aa65J?_nj{171^uNDj) diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/RankingListActor.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/RankingListActor.uasset index 9059c1e97a82bafdd2817dcd769bcaf560d677cd..709ee8fb6b66da4e318851a5dc70a9ef000709a8 100644 GIT binary patch delta 27 jcmeAS=?s}LQ{c-C;dRY&_5RBmtcx>_zrDV3Wr8LEvzrZC delta 27 jcmeAS=?s}LQ{Zfr!i7iw%Dgx9F5B?FNxO36$^=aS#LNyi diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/RankingListComponent.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/RankingListComponent.uasset index 8649d96bf21d99e5cfb29ffc6a64efa8287a81ac..ddff5226e1cd43591be1eec8303e8463c3506877 100644 GIT binary patch delta 29 lcmZ3mka596#tAb8x=J&>x6J(Izr0ZYZk}UH-Nu#Q{Q=D|4txLr delta 29 ncmV+&0OJ3kp#h+w0g#yx5fLh$fK$6pl$iB`BJw6Rv8ne@wzLg4 diff --git a/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/WBP_RankingListBtn.uasset b/SoloKing/ExtendResource/RankingList/OfficialPackage/Asset/RankingList/Blueprint/WBP_RankingListBtn.uasset index 39af319bd7e687f2b01ddb2cf501aafd574d0792..a0e887f23c6f650c2528600eb394245f4d342f19 100644 GIT binary patch delta 29 lcmcaHo$ 10000 and i or v); + table.insert(self.InSendWeaponIds, v); end end - if table.isEmpty(self.InSendWeaponIds) then return self:CloseWeaponPartsTimer(); end + + UGCLogSystem.LogTree(string.format("[UGCPlayerController:SendWeaponParts] InSendWeaponIds ="), self.InSendWeaponIds) + + if table.isEmpty(self.InSendWeaponIds) then self:CloseWeaponPartsTimer(); end self.SendPartsTimer = UGCEventSystem.SetTimerLoop(self, function() + UGCLogSystem.Log("[UGCPlayerController:SendWeaponParts] 发送 Parts") self:SendPartsRPC(); end, 0.5) end @@ -444,19 +448,23 @@ function UGCPlayerController:SendPartsRPC(InTotal, InList) local SendTable = {}; if Count <= self.OneSendWeaponPartsCount then for i, WeaponID in pairs(self.InSendWeaponIds) do - SendTable[WeaponID] = Weapons[WeaponID] or {}; + SendTable[WeaponID] = Weapons[WeaponID]; end self.InSendWeaponIds = {}; self:CloseWeaponPartsTimer(); else for i = 1, self.OneSendWeaponPartsCount do local WeaponID = self.InSendWeaponIds[1]; - SendTable[WeaponID] = Weapons[WeaponID] or {}; + SendTable[WeaponID] = Weapons[WeaponID]; table.remove(self.InSendWeaponIds, 1); end end + UGCLogSystem.LogTree(string.format("[UGCPlayerController:SendPartsRPC] SendTable ="), SendTable) + if table.isEmpty(SendTable) then return; end UnrealNetwork.CallUnrealRPC(self, self, "SendPartsRPC", InTotal or table.getCount(SendTable), SendTable); else + UGCLogSystem.Log("[UGCPlayerController:SendPartsRPC] 接收到 Total = %s", tostring(InTotal)); + table.printTable(InList) if table.isEmpty(ArchiveTable[self.PlayerKey]) then ArchiveTable[self.PlayerKey] = {}; end if table.isEmpty(ArchiveTable[self.PlayerKey].Weapons) then ArchiveTable[self.PlayerKey].Weapons = {}; end for WeaponID, Parts in pairs(InList) do @@ -465,6 +473,7 @@ function UGCPlayerController:SendPartsRPC(InTotal, InList) -- 查看是否完全了 if table.getCount(ArchiveTable[self.PlayerKey].Weapons) == InTotal or InTotal == -1 then -- 更新存档武器 + UGCEventSystem.SendEvent(EventTypes.UpdateArchiveData, ArchiveTable); end end end diff --git a/SoloKing/Script/Blueprint/UGCPlayerPawn.lua b/SoloKing/Script/Blueprint/UGCPlayerPawn.lua index f42716d8..b43628e3 100644 --- a/SoloKing/Script/Blueprint/UGCPlayerPawn.lua +++ b/SoloKing/Script/Blueprint/UGCPlayerPawn.lua @@ -321,7 +321,6 @@ end --- 更新武器配件 function UGCPlayerPawn:UpdateWeaponParts(WeaponID, WeaponParts) ArchiveTable[self.PlayerKey].Weapons[WeaponID] = WeaponParts; - local Weapons = {}; for i, Enum in pairs(AllWeaponEnums) do local Weapon = UGCWeaponManagerSystem.GetWeaponBySlot(self, Enum); @@ -346,6 +345,16 @@ function UGCPlayerPawn:UpdateWeaponParts(WeaponID, WeaponParts) UGCLogSystem.LogError("[UGCPlayerPawn:UpdateWeaponParts] 当前武器跟设置的武器不相同,检查一下, WeaponID : %d", WeaponID); end end + + UnrealNetwork.CallUnrealRPC(self:GetPlayerControllerSafety(), self, "RecvWeaponParts", WeaponID, WeaponParts); +end + +function UGCPlayerPawn:RecvWeaponParts(WeaponID, Parts) + if table.isEmpty(ArchiveTable[LocalPlayerKey]) then ArchiveTable[LocalPlayerKey] = {}; end + if table.isEmpty(ArchiveTable[LocalPlayerKey].Weapons) then ArchiveTable[LocalPlayerKey].Weapons = {}; end + ArchiveTable[LocalPlayerKey].Weapons[WeaponID] = Parts; + UGCLogSystem.LogTree(string.format("[UGCPlayerPawn:RecvWeaponParts] Parts ="), Parts) + UGCEventSystem.SendEvent(EventTypes.UpdateWeapons, WeaponID) end --- 发送 RPC 进行再次同步 diff --git a/SoloKing/Script/Global/EventTypes.lua b/SoloKing/Script/Global/EventTypes.lua index 685ab688..4d236ffa 100644 --- a/SoloKing/Script/Global/EventTypes.lua +++ b/SoloKing/Script/Global/EventTypes.lua @@ -39,4 +39,5 @@ EventTypes = EventTypes or { AllLastGamesAlready = CountTable(); -- 所有存档数据准备就绪 AllSelectWeaponsAlready = CountTable(); -- 所有存档数据准备就绪 UpdateEnterWeapons = CountTable(); -- 所有存档数据准备就绪 + UpdateWeapons = CountTable(); -- 所有存档数据准备就绪 } diff --git a/SoloKing/Script/Global/Mini/Script/Mini_Solo.lua b/SoloKing/Script/Global/Mini/Script/Mini_Solo.lua index 1b11dd32..36daf679 100644 --- a/SoloKing/Script/Global/Mini/Script/Mini_Solo.lua +++ b/SoloKing/Script/Global/Mini/Script/Mini_Solo.lua @@ -1417,8 +1417,10 @@ function Mini_Solo:OnRoundFormalStart() self:PlayerAddWeapon(PlayerKey, self.CurrWeaponItem[PlayerKey]); end end + -- 移除对应的东西 self:DOREPONCE("SelectWeapons"); + GameState:SetSelectGameMode(self.ModeType); UGCLogSystem.LogTree(string.format("[Mini_Solo:OnRoundFormalStart] SelectWeapons End"), self.SelectWeapons) else UGCLogSystem.Log("[Mini_Solo:OnRoundFormalStart] 娱乐模式") diff --git a/SoloKing/Script/Global/Table/WeaponTable.lua b/SoloKing/Script/Global/Table/WeaponTable.lua index 35055557..aaea4b3f 100644 --- a/SoloKing/Script/Global/Table/WeaponTable.lua +++ b/SoloKing/Script/Global/Table/WeaponTable.lua @@ -243,7 +243,7 @@ EnglishNamedWeapon = { WeaponTypeParts = { [EWeaponPartType.Muzzle] = { 201001, 201002, 201003, 201004, 201005, 201006, 201007, 201008, 201009, 201010, 201011, 201012, 201050, 201051 }, [EWeaponPartType.Grip] = { 202001, 202002, 202004, 202005, 202006, 202007 }, - [EWeaponPartType.Telescope] = { 203001, 203002, 203003, 203004, 203005, 203014, 203015, 203018, 203023, 203024, 203104 }, + [EWeaponPartType.Telescope] = { 203001, 203002, 203003, 203004, 203005, 203014, 203015, 203023, 203024, 203104 }, [EWeaponPartType.Magazine] = { 204001, 204002, 204003, 204004, 204005, 204006, 204007, 204008, 204009, 204010, 204011, 204012, 204013, 204014, 204015, 204016, 204017 }, [EWeaponPartType.ButtStock] = { 205001, 205002, 205003, 205004, }, [EWeaponPartType.SubTelescope] = { 203018, }, @@ -389,11 +389,11 @@ WeaponParts = { }, [203018] = { ID = 203018, - Type = EWeaponPartType.Telescope, + Type = EWeaponPartType.SubTelescope, -- Name = "侧面瞄准镜", }, -- [203023] = { ID = 203023, Type = EWeaponPartType.Telescope, Name = "红点UV瞄准镜", WrapperClass = , - -- Icon = "/Game/Arts/UI/TableIcons/ItemIcon/Attach/Icon_MZJ_HD.Icon_MZJ_HD", }, + -- }, -- [203024] = { ID = 203024, Type = EWeaponPartType.Telescope, Name = "全息UV瞄准镜", WrapperClass = , -- Icon = "/Game/Arts/UI/TableIcons/ItemIcon/Attach/Icon_MZJ_QX.Icon_MZJ_QX", }, [204001] = { diff --git a/SoloKing/Script/UI/SelectWeapons/Item/WB_WeaponItem.lua b/SoloKing/Script/UI/SelectWeapons/Item/WB_WeaponItem.lua index 7a9ffad6..34c12b9e 100644 --- a/SoloKing/Script/UI/SelectWeapons/Item/WB_WeaponItem.lua +++ b/SoloKing/Script/UI/SelectWeapons/Item/WB_WeaponItem.lua @@ -25,6 +25,12 @@ function WB_WeaponItem:LuaInit() self.bInitDoOnce = true -- 在这里修改 存档中的武器配件存档修改同步后触发 CustomWeaponParts = {[WeaponID] = {PartID, PartID, PartID, ...}, ...} -- UGCEventSystem.AddListener(ArchiveDataConfig.GetParamNotifyEvent(ArchiveDataConfig.EArchiveType.CustomWeaponParts), self.SetWeaponID, self) + UGCEventSystem.AddListener(EventTypes.UpdateWeapons, self.OnUpdateWeapons, self) +end + +function WB_WeaponItem:OnUpdateWeapons(Weapon) + UGCLogSystem.Log("[WB_WeaponItem:OnUpdateWeapons] 更新 WeaponID = %s", tostring(Weapon)); + self:SetWeaponID(self.WeaponID); end function WB_WeaponItem:SetWeaponID(WeaponID) @@ -34,13 +40,8 @@ function WB_WeaponItem:SetWeaponID(WeaponID) end local Parts = MyWeaponSystem.GetWeaponBastParts(self.WeaponID) local PartList = UE.GetLocalArchiveData("Weapons") - local CustomWeaponParts = nil; - if PartList then - CustomWeaponParts = PartList[self.WeaponID]; - end - - if CustomWeaponParts and CustomWeaponParts[self.WeaponID] then - Parts = CustomWeaponParts[self.WeaponID] + if PartList and PartList[self.WeaponID] then + Parts = PartList[self.WeaponID] UGCLogSystem.LogTree("[WB_WeaponItem_SetWeaponID] Parts:", Parts) end if Parts then diff --git a/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.lua b/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.lua index 9b75d492..3bcc85df 100644 --- a/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.lua +++ b/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveOtherWeaponItem.lua @@ -9,9 +9,9 @@ ---@field TextBlock_WeaponName UTextBlock --Edit Below-- local WB_SaveOtherWeaponItem = { - bInitDoOnce = false; - PartTypeToPartItem = {}; - IsSelected = false; + bInitDoOnce = false; + PartTypeToPartItem = {}; + IsSelected = false; }; --[==[ Construct @@ -30,176 +30,184 @@ end function WB_SaveOtherWeaponItem:LuaInit() if self.bInitDoOnce then - return; + return ; end self.bInitDoOnce = true; WidgetLibrary.BindButtonClicked(self.NewButton_Select, self.ClickSelect, self) + + -- 设置配件类型 + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + Item:LuaInit() + Item:SetPartType(PartTypeDisplayOrder[i]) + Item:BindSelectCallBack(self.ClickPart, self) + if PartTypeDisplayOrder[i] then + self.PartTypeToPartItem[PartTypeDisplayOrder[i]] = Item + end + end + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + Item:LuaInit() + Item:SetSelectStyle(1) + Item:BindSelectCallBack(self.ClickSelectPart, self) + end + + UGCEventSystem.AddListener(EventTypes.UpdateWeapons, self.OnUpdateWeapons, self) +end - -- 设置配件类型 - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - Item:LuaInit() - Item:SetPartType(PartTypeDisplayOrder[i]) - Item:BindSelectCallBack(self.ClickPart, self) - if PartTypeDisplayOrder[i] then - self.PartTypeToPartItem[PartTypeDisplayOrder[i]] = Item - end - end - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:LuaInit() - Item:SetSelectStyle(1) - Item:BindSelectCallBack(self.ClickSelectPart, self) - end +function WB_SaveOtherWeaponItem:OnUpdateWeapons(WeaponID) + UGCLogSystem.Log("[WB_SaveWeaponItem:OnUpdateWeapons] WeaponID = %d", WeaponID); + self:SetWeaponID(self.WeaponID); end function WB_SaveOtherWeaponItem:SetIndex(InIndex) - self.Index = InIndex - self:LuaInit() + self.Index = InIndex + self:LuaInit() end function WB_SaveOtherWeaponItem:GetIndex() - return self.Index + return self.Index end function WB_SaveOtherWeaponItem:BindClickSelect(Func, Obj) - self.SelectCallBackFunc = Func - self.SelectCallBackObj = Obj + self.SelectCallBackFunc = Func + self.SelectCallBackObj = Obj end function WB_SaveOtherWeaponItem:ClickSelect() - -- UGCLogSystem.Log("[WB_BuffSelectItem_ClickSelect]") - if self.SelectCallBackFunc then - if self.SelectCallBackObj then - self.SelectCallBackFunc(self.SelectCallBackObj, self:GetIndex()) - else - self.SelectCallBackFunc(self:GetIndex()) - end - end + -- UGCLogSystem.Log("[WB_BuffSelectItem_ClickSelect]") + if self.SelectCallBackFunc then + if self.SelectCallBackObj then + self.SelectCallBackFunc(self.SelectCallBackObj, self:GetIndex()) + else + self.SelectCallBackFunc(self:GetIndex()) + end + end end function WB_SaveOtherWeaponItem:SetSelect(IsSelect) - if self.IsSelected ~= IsSelect then - self.IsSelected = IsSelect - if IsSelect then - self.Image_IsSelect:SetVisibility(ESlateVisibility.SelfHitTestInvisible); - --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.SelfHitTestInvisible); - else - self.Image_IsSelect:SetVisibility(ESlateVisibility.Collapsed); - --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.Collapsed); - -- self:SetSelectPartType(nil) - end - end + if self.IsSelected ~= IsSelect then + self.IsSelected = IsSelect + if IsSelect then + self.Image_IsSelect:SetVisibility(ESlateVisibility.SelfHitTestInvisible); + --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.SelfHitTestInvisible); + else + self.Image_IsSelect:SetVisibility(ESlateVisibility.Collapsed); + --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.Collapsed); + -- self:SetSelectPartType(nil) + end + end end function WB_SaveOtherWeaponItem:GetWeaponID() - return self.WeaponID + return self.WeaponID end function WB_SaveOtherWeaponItem:SetWeaponID(WeaponID) - if self.WeaponID ~= WeaponID then - self.WeaponID = WeaponID - local WeaponParts = MyWeaponSystem.GetWeaponBastParts(self.WeaponID) - -- 在这里修改 获取存档中的武器配件存档 CustomWeaponParts = {[WeaponID] = {PartID, PartID, PartID, ...}, ...} - -- local CustomWeaponParts = ArchiveDataConfig.GetPlayerArchiveDataFromType(UGCSystemLibrary.GetLocalPlayerKey(), ArchiveDataConfig.EArchiveType.CustomWeaponParts) - local CustomWeaponParts = nil - - if CustomWeaponParts and CustomWeaponParts[self.WeaponID] then - WeaponParts = CustomWeaponParts[self.WeaponID] - end - local WeaponPartsMap = MyWeaponSystem.PartListToPartMap(WeaponParts) - local UpdateSelectPartsOnce = false - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - local PartType = Item:GetPartType() - local ItemID = WeaponPartsMap[PartType] - Item:SetItemID(ItemID) - -- 设置当前默认选择的Part - if ItemID and not UpdateSelectPartsOnce then - UpdateSelectPartsOnce = true - self:SetSelectPartType(PartType) - end - end - if not UpdateSelectPartsOnce then - self:SetSelectPartType(nil) - end - - MyWeaponSystem.AsyncLoadItemSmallIconToBrush(self.WeaponID, self.Image_WeaponIcon) - self.TextBlock_WeaponName:SetText(MyWeaponSystem.GetItemName(self.WeaponID)) - end + self.WeaponID = WeaponID + local WeaponParts = MyWeaponSystem.GetWeaponBastParts(self.WeaponID) + -- 在这里修改 获取存档中的武器配件存档 CustomWeaponParts = {[WeaponID] = {PartID, PartID, PartID, ...}, ...} + -- local CustomWeaponParts = ArchiveDataConfig.GetPlayerArchiveDataFromType(UGCSystemLibrary.GetLocalPlayerKey(), ArchiveDataConfig.EArchiveType.CustomWeaponParts) + local CustomWeaponParts = nil + if not table.isEmpty(ArchiveTable[LocalPlayerKey]) then + CustomWeaponParts = ArchiveTable[LocalPlayerKey].Weapons + end + + if CustomWeaponParts and CustomWeaponParts[self.WeaponID] then + WeaponParts = CustomWeaponParts[self.WeaponID] + end + local WeaponPartsMap = MyWeaponSystem.PartListToPartMap(WeaponParts) + local UpdateSelectPartsOnce = false + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + local PartType = Item:GetPartType() + local ItemID = WeaponPartsMap[PartType] + Item:SetItemID(ItemID) + -- 设置当前默认选择的Part + if ItemID and not UpdateSelectPartsOnce then + UpdateSelectPartsOnce = true + self:SetSelectPartType(PartType) + end + end + if not UpdateSelectPartsOnce then + self:SetSelectPartType(nil) + end + + MyWeaponSystem.AsyncLoadItemSmallIconToBrush(self.WeaponID, self.Image_WeaponIcon) + self.TextBlock_WeaponName:SetText(MyWeaponSystem.GetItemName(self.WeaponID)) end function WB_SaveOtherWeaponItem:SetVisWeaponInfo(IsVis) - if IsVis then - self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.HitTestInvisible) - else - self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.Hidden) - end + if IsVis then + self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.HitTestInvisible) + else + self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.Hidden) + end end function WB_SaveOtherWeaponItem:ClickPart(PartID) - if self.IsSelected then - local PartType = MyWeaponSystem.GetPartType(PartID) - self:SetSelectPartType(PartType) - else - self:ClickSelect() - end + if self.IsSelected then + local PartType = MyWeaponSystem.GetPartType(PartID) + self:SetSelectPartType(PartType) + else + self:ClickSelect() + end end --- 设置选择修改的类型 function WB_SaveOtherWeaponItem:SetSelectPartType(InPartType) - UGCLogSystem.Log("[WB_SaveOtherWeaponItem_SetSelectPartType] InPartType:%s", tostring(InPartType)) - self.SelectPartType = InPartType - local ItemID = -1 - if self.PartTypeToPartItem[InPartType] then - ItemID = self.PartTypeToPartItem[InPartType]:GetItemID() - end - local Parts = MyWeaponSystem.GetWeaponCanUsePartFromPartType(self.WeaponID, InPartType) - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:SetItemID(Parts[i]) - Item:SetIsSelect(ItemID == Parts[i]) - end - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - Item:SetIsSelect(InPartType == Item:GetPartType()) - end + UGCLogSystem.Log("[WB_SaveOtherWeaponItem_SetSelectPartType] InPartType:%s", tostring(InPartType)) + self.SelectPartType = InPartType + local ItemID = -1 + if self.PartTypeToPartItem[InPartType] then + ItemID = self.PartTypeToPartItem[InPartType]:GetItemID() + end + local Parts = MyWeaponSystem.GetWeaponCanUsePartFromPartType(self.WeaponID, InPartType) + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + Item:SetItemID(Parts[i]) + Item:SetIsSelect(ItemID == Parts[i]) + end + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + Item:SetIsSelect(InPartType == Item:GetPartType()) + end end --- 修改显示的配件 function WB_SaveOtherWeaponItem:ClickSelectPart(PartID) - UGCLogSystem.Log("[WB_SaveOtherWeaponItem_ClickSelectPart] PartID:%s", tostring(PartID)) - local PartType = MyWeaponSystem.GetPartType(PartID) - local PartItem = self.PartTypeToPartItem[PartType] - if PartItem then - PartItem:SetItemID(PartID) - -- 设置已选择 - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:SetIsSelect(PartID == Item:GetItemID()) - end - end + UGCLogSystem.Log("[WB_SaveOtherWeaponItem_ClickSelectPart] PartID:%s", tostring(PartID)) + local PartType = MyWeaponSystem.GetPartType(PartID) + local PartItem = self.PartTypeToPartItem[PartType] + if PartItem then + PartItem:SetItemID(PartID) + -- 设置已选择 + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + Item:SetIsSelect(PartID == Item:GetItemID()) + end + end end --- 获取当前修改后的配件信息 function WB_SaveOtherWeaponItem:GetAllParts() - local Res = {} - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - local ItemID = Item:GetItemID() - if ItemID and MyWeaponSystem.IsWeaponPartValid(ItemID) then - Res[#Res + 1] = ItemID - end - end - return Res + local Res = {} + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + local ItemID = Item:GetItemID() + if ItemID and MyWeaponSystem.IsWeaponPartValid(ItemID) then + Res[#Res + 1] = ItemID + end + end + return Res end function WB_SaveOtherWeaponItem:SetWeaponSocketType(InSocketType) - self.WeaponSocketType = InSocketType + self.WeaponSocketType = InSocketType end function WB_SaveOtherWeaponItem:GetWeaponSocketType() - return self.WeaponSocketType + return self.WeaponSocketType end return WB_SaveOtherWeaponItem; \ No newline at end of file diff --git a/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveWeaponItem.lua b/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveWeaponItem.lua index 625ac11a..f707d00a 100644 --- a/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveWeaponItem.lua +++ b/SoloKing/Script/UI/SelectWeapons/SaveCustomWeaponItem/WB_SaveWeaponItem.lua @@ -9,9 +9,9 @@ ---@field TextBlock_WeaponName UTextBlock --Edit Below-- local WB_SaveWeaponItem = { - bInitDoOnce = false; - PartTypeToPartItem = {}; - IsSelected = false; + bInitDoOnce = false; + PartTypeToPartItem = {}; + IsSelected = false; }; --[==[ Construct @@ -30,181 +30,189 @@ end function WB_SaveWeaponItem:LuaInit() if self.bInitDoOnce then - return; + return ; end self.bInitDoOnce = true; WidgetLibrary.BindButtonClicked(self.NewButton_Select, self.ClickSelect, self) + + -- 设置配件类型 + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + Item:LuaInit() + Item:SetPartType(PartTypeDisplayOrder[i]) + Item:BindSelectCallBack(self.ClickPart, self) + if PartTypeDisplayOrder[i] then + self.PartTypeToPartItem[PartTypeDisplayOrder[i]] = Item + end + end + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + Item:LuaInit() + Item:SetSelectStyle(1) + Item:BindSelectCallBack(self.ClickSelectPart, self) + end + + UGCEventSystem.AddListener(EventTypes.UpdateWeapons, self.OnUpdateWeapons, self) +end - -- 设置配件类型 - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - Item:LuaInit() - Item:SetPartType(PartTypeDisplayOrder[i]) - Item:BindSelectCallBack(self.ClickPart, self) - if PartTypeDisplayOrder[i] then - self.PartTypeToPartItem[PartTypeDisplayOrder[i]] = Item - end - end - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:LuaInit() - Item:SetSelectStyle(1) - Item:BindSelectCallBack(self.ClickSelectPart, self) - end +function WB_SaveWeaponItem:OnUpdateWeapons(WeaponID) + UGCLogSystem.Log("[WB_SaveWeaponItem:OnUpdateWeapons] WeaponID = %d", WeaponID); + self:SetWeaponID(self.WeaponID); end function WB_SaveWeaponItem:SetIndex(InIndex) - self.Index = InIndex - self:LuaInit() + self.Index = InIndex + self:LuaInit() end function WB_SaveWeaponItem:GetIndex() - return self.Index + return self.Index end function WB_SaveWeaponItem:BindClickSelect(Func, Obj) - self.SelectCallBackFunc = Func - self.SelectCallBackObj = Obj + self.SelectCallBackFunc = Func + self.SelectCallBackObj = Obj end function WB_SaveWeaponItem:ClickSelect() - -- UGCLogSystem.Log("[WB_BuffSelectItem_ClickSelect]") - if self.SelectCallBackFunc then - if self.SelectCallBackObj then - self.SelectCallBackFunc(self.SelectCallBackObj, self:GetIndex()) - else - self.SelectCallBackFunc(self:GetIndex()) - end - end + -- UGCLogSystem.Log("[WB_BuffSelectItem_ClickSelect]") + if self.SelectCallBackFunc then + if self.SelectCallBackObj then + self.SelectCallBackFunc(self.SelectCallBackObj, self:GetIndex()) + else + self.SelectCallBackFunc(self:GetIndex()) + end + end end function WB_SaveWeaponItem:SetSelect(IsSelect) - if self.IsSelected ~= IsSelect then - self.IsSelected = IsSelect - if IsSelect then - self.Image_IsSelect:SetVisibility(ESlateVisibility.SelfHitTestInvisible); - --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.SelfHitTestInvisible); - else - self.Image_IsSelect:SetVisibility(ESlateVisibility.Collapsed); - --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.Collapsed); - -- self:SetSelectPartType(nil) - end - end + if self.IsSelected ~= IsSelect then + self.IsSelected = IsSelect + if IsSelect then + self.Image_IsSelect:SetVisibility(ESlateVisibility.SelfHitTestInvisible); + --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.SelfHitTestInvisible); + else + self.Image_IsSelect:SetVisibility(ESlateVisibility.Collapsed); + --self.CanvasPanel_SelectPartsPanel:SetVisibility(ESlateVisibility.Collapsed); + -- self:SetSelectPartType(nil) + end + end end function WB_SaveWeaponItem:GetWeaponID() - return self.WeaponID + return self.WeaponID end function WB_SaveWeaponItem:SetWeaponID(WeaponID) - if self.WeaponID ~= WeaponID then - self.WeaponID = WeaponID - local WeaponParts = MyWeaponSystem.GetWeaponBastParts(self.WeaponID) - -- 在这里修改 获取存档中的武器配件存档 CustomWeaponParts = {[WeaponID] = {PartID, PartID, PartID, ...}, ...} - -- local CustomWeaponParts = ArchiveDataConfig.GetPlayerArchiveDataFromType(UGCSystemLibrary.GetLocalPlayerKey(), ArchiveDataConfig.EArchiveType.CustomWeaponParts) - local CustomWeaponParts = nil - - if CustomWeaponParts and CustomWeaponParts[self.WeaponID] then - WeaponParts = CustomWeaponParts[self.WeaponID] - end - local WeaponPartsMap = MyWeaponSystem.PartListToPartMap(WeaponParts) - if WeaponSuits[WeaponID] then - for i, v in pairs(WeaponSuits[WeaponID]) do - if WeaponPartsMap[i] == nil then WeaponPartsMap[i] = 0 end - end + self.WeaponID = WeaponID + local WeaponParts = MyWeaponSystem.GetWeaponBastParts(self.WeaponID) + -- 在这里修改 获取存档中的武器配件存档 CustomWeaponParts = {[WeaponID] = {PartID, PartID, PartID, ...}, ...} + -- local CustomWeaponParts = ArchiveDataConfig.GetPlayerArchiveDataFromType(UGCSystemLibrary.GetLocalPlayerKey(), ArchiveDataConfig.EArchiveType.CustomWeaponParts) + local CustomWeaponParts = nil + if not table.isEmpty(ArchiveTable[LocalPlayerKey]) then + CustomWeaponParts = ArchiveTable[LocalPlayerKey].Weapons + end + + if CustomWeaponParts and CustomWeaponParts[self.WeaponID] then + WeaponParts = CustomWeaponParts[self.WeaponID] + end + local WeaponPartsMap = MyWeaponSystem.PartListToPartMap(WeaponParts) + if WeaponSuits[WeaponID] then + for i, v in pairs(WeaponSuits[WeaponID]) do + if WeaponPartsMap[i] == nil then WeaponPartsMap[i] = 0 end end - local UpdateSelectPartsOnce = false - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - local PartType = Item:GetPartType() - local ItemID = WeaponPartsMap[PartType] - Item:SetItemID(ItemID) - -- 设置当前默认选择的Part - if ItemID and not UpdateSelectPartsOnce then - UpdateSelectPartsOnce = true - self:SetSelectPartType(PartType) - end - end - if not UpdateSelectPartsOnce then - self:SetSelectPartType(nil) - end - - MyWeaponSystem.AsyncLoadItemBigIconToBrush(self.WeaponID, self.Image_WeaponIcon) - self.TextBlock_WeaponName:SetText(MyWeaponSystem.GetItemName(self.WeaponID)) - end + end + local UpdateSelectPartsOnce = false + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + local PartType = Item:GetPartType() + local ItemID = WeaponPartsMap[PartType] + Item:SetItemID(ItemID) + -- 设置当前默认选择的Part + if ItemID and not UpdateSelectPartsOnce then + UpdateSelectPartsOnce = true + self:SetSelectPartType(PartType) + end + end + if not UpdateSelectPartsOnce then + self:SetSelectPartType(nil) + end + + MyWeaponSystem.AsyncLoadItemBigIconToBrush(self.WeaponID, self.Image_WeaponIcon) + self.TextBlock_WeaponName:SetText(MyWeaponSystem.GetItemName(self.WeaponID)) end function WB_SaveWeaponItem:SetVisWeaponInfo(IsVis) - if IsVis then - self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.HitTestInvisible) - else - self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.Hidden) - end + if IsVis then + self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.HitTestInvisible) + else + self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.Hidden) + end end function WB_SaveWeaponItem:ClickPart(PartID) - if self.IsSelected then - local PartType = MyWeaponSystem.GetPartType(PartID) - self:SetSelectPartType(PartType) - else - self:ClickSelect() - end + if self.IsSelected then + local PartType = MyWeaponSystem.GetPartType(PartID) + self:SetSelectPartType(PartType) + else + self:ClickSelect() + end end --- 设置选择修改的类型 function WB_SaveWeaponItem:SetSelectPartType(InPartType) - UGCLogSystem.Log("[WB_SaveWeaponItem_SetSelectPartType] InPartType:%s", tostring(InPartType)) - self.SelectPartType = InPartType - local ItemID = -1 - if self.PartTypeToPartItem[InPartType] then - ItemID = self.PartTypeToPartItem[InPartType]:GetItemID() - end - local Parts = MyWeaponSystem.GetWeaponCanUsePartFromPartType(self.WeaponID, InPartType) - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:SetItemID(Parts[i]) - Item:SetIsSelect(ItemID == Parts[i]) - end - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - Item:SetIsSelect(InPartType == Item:GetPartType()) - end + UGCLogSystem.Log("[WB_SaveWeaponItem_SetSelectPartType] InPartType:%s", tostring(InPartType)) + self.SelectPartType = InPartType + local ItemID = -1 + if self.PartTypeToPartItem[InPartType] then + ItemID = self.PartTypeToPartItem[InPartType]:GetItemID() + end + local Parts = MyWeaponSystem.GetWeaponCanUsePartFromPartType(self.WeaponID, InPartType) + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + Item:SetItemID(Parts[i]) + --Item:SetIsSelect(ItemID == Parts[i]) + end + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + --Item:SetIsSelect(InPartType == Item:GetPartType()) + end end --- 修改显示的配件 function WB_SaveWeaponItem:ClickSelectPart(PartID) - UGCLogSystem.Log("[WB_SaveWeaponItem_ClickSelectPart] PartID:%s", tostring(PartID)) - local PartType = MyWeaponSystem.GetPartType(PartID) - local PartItem = self.PartTypeToPartItem[PartType] - if PartItem then - PartItem:SetItemID(PartID) - -- 设置已选择 - for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do - local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) - Item:SetIsSelect(PartID == Item:GetItemID()) - end - end + UGCLogSystem.Log("[WB_SaveWeaponItem_ClickSelectPart] PartID:%s", tostring(PartID)) + local PartType = MyWeaponSystem.GetPartType(PartID) + local PartItem = self.PartTypeToPartItem[PartType] + if PartItem then + PartItem:SetItemID(PartID) + -- 设置已选择 + for i = 1, self.ScrollBox_SelectParts:GetChildrenCount() do + local Item = self.ScrollBox_SelectParts:GetChildAt(i - 1) + --Item:SetIsSelect(PartID == Item:GetItemID()) + end + end end --- 获取当前修改后的配件信息 function WB_SaveWeaponItem:GetAllParts() - local Res = {} - for i = 1, self.HorizontalBox_Part:GetChildrenCount() do - local Item = self.HorizontalBox_Part:GetChildAt(i - 1) - local ItemID = Item:GetItemID() - if ItemID and MyWeaponSystem.IsWeaponPartValid(ItemID) then - Res[#Res + 1] = ItemID - end - end - return Res + local Res = {} + for i = 1, self.HorizontalBox_Part:GetChildrenCount() do + local Item = self.HorizontalBox_Part:GetChildAt(i - 1) + local ItemID = Item:GetItemID() + if ItemID and MyWeaponSystem.IsWeaponPartValid(ItemID) then + Res[#Res + 1] = ItemID + end + end + return Res end function WB_SaveWeaponItem:SetWeaponSocketType(InSocketType) - self.WeaponSocketType = InSocketType + self.WeaponSocketType = InSocketType end function WB_SaveWeaponItem:GetWeaponSocketType() - return self.WeaponSocketType + return self.WeaponSocketType end return WB_SaveWeaponItem; \ No newline at end of file diff --git a/SoloKing/Script/UI/SelectWeapons/WB_WeaponSelect_New.lua b/SoloKing/Script/UI/SelectWeapons/WB_WeaponSelect_New.lua index 5a5537d9..fbfcd35c 100644 --- a/SoloKing/Script/UI/SelectWeapons/WB_WeaponSelect_New.lua +++ b/SoloKing/Script/UI/SelectWeapons/WB_WeaponSelect_New.lua @@ -19,6 +19,7 @@ function WB_WeaponSelect_New:Construct() WidgetLibrary.BindButtonClicked(self.Button_Select, self.SelectWeapon, self) UGCEventSystem.AddListener(EventTypes.UpdateArchiveData, self.LoadArchiveTable, self); UGCEventSystem.AddListener(EventTypes.UpdateEnterWeapons, self.LoadArchiveTable, self); + UGCEventSystem.AddListener(EventTypes.UpdateWeapons, self.UpdateWeaponCombination, self); self:LoadArchiveTable(); -- 判断是否可以修改配置 WidgetLibrary.BindButtonClicked(self.Button_Custom, self.CustomWeaponComb, self) diff --git a/SoloKing/Script/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfiguration.lua b/SoloKing/Script/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfiguration.lua index 82f3aa7d..afb58f83 100644 --- a/SoloKing/Script/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfiguration.lua +++ b/SoloKing/Script/UI/SelectWeapons/WeaponConfiguration/WB_WeaponConfiguration.lua @@ -142,14 +142,14 @@ end --- 设置选择修改的类型 function WB_WeaponConfiguration:SetSelectPartType(InPartType) UGCLogSystem.Log("[WB_WeaponConfiguration_SetSelectPartType] InPartType:%s", tostring(InPartType)) - self.SelectPartType = InPartType + self.SelectPartType = InPartType; local ItemID = -1 if self.PartTypeToPartItem[InPartType] then ItemID = self.PartTypeToPartItem[InPartType]:GetItemID() end local Info = WeaponTypeName[InPartType] - UGCLogSystem.LogTree(string.format("[WB_WeaponConfiguration:SetSelectPartType] Info ="), Info) + --UGCLogSystem.LogTree(string.format("[WB_WeaponConfiguration:SetSelectPartType] Info ="), Info) if Info then self.TextBlock_Parts:SetText('配件:' .. Info.Chinese); else diff --git a/SoloKing/Script/gamemode/Action_PlayerLogin.lua b/SoloKing/Script/gamemode/Action_PlayerLogin.lua index 43f3e82c..75d65a6e 100644 --- a/SoloKing/Script/gamemode/Action_PlayerLogin.lua +++ b/SoloKing/Script/gamemode/Action_PlayerLogin.lua @@ -160,6 +160,12 @@ function Action_PlayerLogin:Execute(...) --}; --ArchiveTable[self.PlayerKey].EnterWeaponIndex = 2; + --ArchiveTable[self.PlayerKey].Weapons = { + -- [102003] = { + -- 201002, 202007, 203003, 204006, 205002, 203018, + -- } + --} + GameState:HandleArchiveData(nil, { "GameTimes", "TotalGameTimes", diff --git a/SoloKing/SoloKing.ugcproj b/SoloKing/SoloKing.ugcproj index 630857cd..2aee0fab 100644 --- a/SoloKing/SoloKing.ugcproj +++ b/SoloKing/SoloKing.ugcproj @@ -7,7 +7,7 @@ ProjectShortPath=/SoloKing/ StartMapName=/SoloKing/UGCmap MapMode=0 bIsBigWorld=0 -Version=1.30.21.13234 +Version=1.30.21.13236 UpdateVersion=5 GameModePath=/SoloKing/Asset/Blueprint/UGCGameMode.UGCGameMode_C DefaultLevelDirectorPath=/Asset/Blueprint/UGCLevelDirector.UGCLevelDirector_C