From e4deece7b429439f9e82cbf3601debfa447dbc24 Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Thu, 21 Sep 2023 17:44:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Epag=E5=8A=A8=E6=95=88?= =?UTF-8?q?=E5=8F=8A=E9=A6=96=E9=A1=B5bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 12 + .../jm/LittleGame/Contents.json | 6 + .../Contents.json | 22 + .../room_info_little_game_down_arrow@2x.png | Bin 0 -> 234 bytes .../room_info_little_game_down_arrow@3x.png | Bin 0 -> 363 bytes .../Contents.json | 22 + .../room_info_little_game_up_arrow@2x.png | Bin 0 -> 245 bytes .../room_info_little_game_up_arrow@3x.png | Bin 0 -> 358 bytes .../Contents.json | 22 + .../room_little_game_bg@2x.png | Bin 0 -> 6766 bytes .../room_little_game_bg@3x.png | Bin 0 -> 9085 bytes .../Contents.json | 22 + .../room_little_game_close@2x.png | Bin 0 -> 247 bytes .../room_little_game_close@3x.png | Bin 0 -> 349 bytes .../Contents.json | 22 + .../room_little_game_game_room@2x.png | Bin 0 -> 7407 bytes .../room_little_game_game_room@3x.png | Bin 0 -> 15183 bytes .../Contents.json | 22 + .../room_little_game_game_room_select@2x.png | Bin 0 -> 9918 bytes .../room_little_game_game_room_select@3x.png | Bin 0 -> 14729 bytes .../Contents.json | 22 + .../room_little_game_normal_room@2x.png | Bin 0 -> 7379 bytes .../room_little_game_normal_room@3x.png | Bin 0 -> 16155 bytes .../Contents.json | 22 + ...room_little_game_normal_room_select@2x.png | Bin 0 -> 7666 bytes ...room_little_game_normal_room_select@3x.png | Bin 0 -> 15988 bytes .../Contents.json | 22 + ...om_position_little_game_right_arrow@2x.png | Bin 0 -> 330 bytes ...om_position_little_game_right_arrow@3x.png | Bin 0 -> 480 bytes .../home_game_back.imageset/Contents.json | 22 + .../home_game_back@2x.png | Bin 0 -> 536 bytes .../home_game_back@3x.png | Bin 0 -> 958 bytes .../Contents.json | 22 + .../home_play_create_room@2x.png | Bin 0 -> 3343 bytes .../home_play_create_room@3x.png | Bin 0 -> 5052 bytes .../home_play_game.imageset/Contents.json | 22 + .../home_play_game@2x.png | Bin 0 -> 8332 bytes .../home_play_game@3x.png | Bin 0 -> 14850 bytes .../Noble/Presenter/XPNobleCenterPresenter.h | 4 + .../Noble/Presenter/XPNobleCenterPresenter.m | 10 + .../Noble/Protocol/XPNobleCenterProtocol.h | 2 + .../Noble/View/XPNobleCenterViewController.m | 70 ++- .../Recharge/XPIAPRechargeViewController.m | 2 + .../Presenter/XPNewHomeRecommendPresenter.h | 3 +- .../Presenter/XPNewHomeRecommendPresenter.m | 16 + .../Protocol/XPNewHomeRecommendProtocol.h | 4 +- .../YMNewHome/View/Cell/XPHomeGameCell.h | 17 + .../YMNewHome/View/Cell/XPHomeGameCell.m | 55 ++ .../View/Cell/XPNewHomePartyTableViewCell.m | 8 +- .../Cell/XPNewHomePlayEmptyTableViewCell.h | 12 +- .../Cell/XPNewHomePlayEmptyTableViewCell.m | 130 +++-- .../View/CustomView/XPHomeGameView.h | 23 + .../View/CustomView/XPHomeGameView.m | 158 ++++++ .../View/XPHomeRecommendViewController.m | 133 +++-- .../YMNewHome/View/XPNewHomeViewController.m | 4 +- .../View/AnimationView/XPRoomAnimationView.m | 477 +++++++++++------- .../AnimationView/XPRoomGiftAnimationParser.m | 5 - .../View/XPCandyTreeConfirmBuyNumView.m | 8 +- .../View/XPCandyTreeViewController.m | 15 +- .../FirstRecharge/View/XPFirstRechargeView.h | 4 +- .../FirstRecharge/View/XPFirstRechargeView.m | 38 ++ .../View/SendGiftView/Model/GiftInfoModel.h | 3 +- .../View/Cell/XPGiftItemCollectionViewCell.m | 5 +- .../YMRoom/View/XPRoomViewController.m | 32 +- YuMi/zh-Hans.lproj/Localizable.strings | 3 + YuMi/zh-Hant.lproj/Localizable.strings | 4 + 66 files changed, 1243 insertions(+), 284 deletions(-) create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_up_arrow.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_up_arrow.imageset/room_info_little_game_up_arrow@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_up_arrow.imageset/room_info_little_game_up_arrow@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/room_little_game_bg@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/room_little_game_bg@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/room_little_game_close@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/room_little_game_close@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@3x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_position_little_game_right_arrow.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_position_little_game_right_arrow.imageset/room_position_little_game_right_arrow@2x.png create mode 100644 YuMi/Assets.xcassets/jm/LittleGame/room_position_little_game_right_arrow.imageset/room_position_little_game_right_arrow@3x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_game_back.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/low/newhome/home_game_back.imageset/home_game_back@2x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_game_back.imageset/home_game_back@3x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@2x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@3x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_game.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_game.imageset/home_play_game@2x.png create mode 100644 YuMi/Assets.xcassets/low/newhome/home_play_game.imageset/home_play_game@3x.png create mode 100644 YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.h create mode 100644 YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.m create mode 100644 YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.h create mode 100644 YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.m diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index 6ffbbef7..f6aa8848 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -316,6 +316,8 @@ 23FF255B2AB956D50064E904 /* pi_home_new_pk.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF255A2AB956D50064E904 /* pi_home_new_pk.svga */; }; 23FF25602ABA932D0064E904 /* PIIAPManagers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23FF255F2ABA932D0064E904 /* PIIAPManagers.swift */; }; 23FF25622ABAE6310064E904 /* pi_room_game_fine_love.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */; }; + 23FF25652ABC3B3C0064E904 /* XPHomeGameView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */; }; + 23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF25672ABC3BC00064E904 /* XPHomeGameCell.m */; }; 23FF42632AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42622AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m */; }; 23FF42652AA5AC040055733C /* home_heat.gif in Resources */ = {isa = PBXBuildFile; fileRef = 23FF42642AA5AC040055733C /* home_heat.gif */; }; 23FF42672AA5CFBB0055733C /* home_sound_wave.gif in Resources */ = {isa = PBXBuildFile; fileRef = 23FF42662AA5CFBB0055733C /* home_sound_wave.gif */; }; @@ -2011,6 +2013,10 @@ 23FF255A2AB956D50064E904 /* pi_home_new_pk.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_home_new_pk.svga; sourceTree = ""; }; 23FF255F2ABA932D0064E904 /* PIIAPManagers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PIIAPManagers.swift; sourceTree = ""; }; 23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_room_game_fine_love.svga; sourceTree = ""; }; + 23FF25632ABC3B3B0064E904 /* XPHomeGameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPHomeGameView.h; sourceTree = ""; }; + 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeGameView.m; sourceTree = ""; }; + 23FF25662ABC3BC00064E904 /* XPHomeGameCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPHomeGameCell.h; sourceTree = ""; }; + 23FF25672ABC3BC00064E904 /* XPHomeGameCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeGameCell.m; sourceTree = ""; }; 23FF42612AA5861E0055733C /* XPNewHomePartyCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewHomePartyCollectionViewCell.h; sourceTree = ""; }; 23FF42622AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewHomePartyCollectionViewCell.m; sourceTree = ""; }; 23FF42642AA5AC040055733C /* home_heat.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = home_heat.gif; sourceTree = ""; }; @@ -8425,6 +8431,8 @@ E87E625E2A3F565D002F68C9 /* CustomView */ = { isa = PBXGroup; children = ( + 23FF25632ABC3B3B0064E904 /* XPHomeGameView.h */, + 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */, 23FF42742AA6E1480055733C /* XPHomeRecommendOtherRoomView.h */, 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */, E87DF4F12A42CBEC009C1185 /* XPHomeUserView.h */, @@ -8444,6 +8452,8 @@ E87E625F2A3F5669002F68C9 /* Cell */ = { isa = PBXGroup; children = ( + 23FF25662ABC3BC00064E904 /* XPHomeGameCell.h */, + 23FF25672ABC3BC00064E904 /* XPHomeGameCell.m */, E87E627D2A3F5D28002F68C9 /* XPNewHomePlayItemCollectionViewCell.h */, E87E627E2A3F5D28002F68C9 /* XPNewHomePlayItemCollectionViewCell.m */, E87E62722A3F5907002F68C9 /* XPHomeBannerTableViewCell.h */, @@ -10553,6 +10563,7 @@ 140A818D299CFF1C00841594 /* XPVendorCallViewController.m in Sources */, E8EEB8F226FC2050007C6EBA /* SDPhotoBrowser.m in Sources */, E81C27AB26EF2D920031E639 /* ThirdUserInfo.m in Sources */, + 23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */, E8788950273A699900BF1D57 /* ThemeColor+SendGift.m in Sources */, E81C279D26EEEC620031E639 /* YUMIConstant.m in Sources */, 9B734F73288A787000CBDAA9 /* XPMineAccountView.m in Sources */, @@ -10577,6 +10588,7 @@ E85E7B4C2A4EB0D300B6D00A /* XPMineGuildManagerPerViewController.m in Sources */, 23E9EA662A837BE400B792F2 /* XPTreasureFairyBallView.m in Sources */, E87DF4BF2A42C8C1009C1185 /* HomeTagModel.m in Sources */, + 23FF25652ABC3B3C0064E904 /* XPHomeGameView.m in Sources */, E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */, E8A3540A28FEC0510014A784 /* XPWishGiftListView.m in Sources */, E88863CF278EC393004BCFAB /* XPAcrossRoomPKPrizeView.m in Sources */, diff --git a/YuMi/Assets.xcassets/jm/LittleGame/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/Contents.json new file mode 100644 index 00000000..74dd3c99 --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_info_little_game_down_arrow@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_info_little_game_down_arrow@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8bd67475d67d31d91e103ec851c989e336f979 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u#3?$#IayJ4}>H$6>u0Z-f5n!FImnBdsPf3tp zFoXQvqxDuF-k)0>&9|Pf^BYh+&C|s(MB{w21S>P6#W@E@<}L$ap9n_R8KP=34Ow0M zE?+oiJv<|j$ZV2$OlHChL&lQrYZy7_A1Y8%_o!fMGuVD^rg6Jj!Y_?yXJ#&rusK!q utcQ6U!v@P9)0iXN8@Y_R40@PWF*0oEGj;Yzdwd;eBZH@_pUXO@geCxA1!C9$ literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_down_arrow.imageset/room_info_little_game_down_arrow@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f30c76f72ee4f551c9fc80b9334d4e6711b4c9f3 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^P9V&|3?#2~eYgdrLIQk3T!Hj|Y6F9Kn`uCErAvbR zf*Iau2=g(0zOkv^)BMW!4@Xunp3z&B9%IYJaf>y?6XcB5o-U3d5r^Mij^t}L;Bmd^ z&UWH}&E+@s^FvoFEp%F<@@28S9run&snRV1PAB?xmwv9$;ZWN8`4UI6QM{rthsh5i zW+%?l*Z`)35rv@|5{FJ|+KYekRBC#0uG3F}OW!ZKz-80T>vp;>za+>n znBi!>mBNSj_iitVmghTv=9ZHkP=+DZ)5S4F<9xCND>Lg3^90c{?}J)8{{?4jT>k%` zE28Bs(6%1UQ^7#$JF~>0IsY3InA$#6P57W+5;(15!iR8nlf+~H6BHWM*6<7dYtcIO tN1lr(pv5xb5U<9e8iR-2Jc}E&7#ON~ovIg=y=ws3=;`X`vd$@?2>{&rbNc`Q literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_up_arrow.imageset/room_info_little_game_up_arrow@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_info_little_game_up_arrow.imageset/room_info_little_game_up_arrow@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8cca8139785cbb7f93a1e1fd88f00f036729f4f7 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^P9V&|3?#2~eYgdrLIQk3T!Hj|Y6F9Kn`uCErAvbR zf*FM0@P4?lx!zj+ir4oqM^`VN(OZ-rW1`J*%hP+3t2a>DGEW!Bkch)?FGq4U8;GIc-Wt8w=+A5VCB3*zD?iGCJZ`$LV*g+Lne@7dROoI9Bq3r%_+2 z!0Y1UMf|(p+dnm6Rca!0rldPbTiBEU?S10E ZhatK`ey47fZZ6Qp44$rjF6*2UngArYyqo|4 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/Contents.json new file mode 100644 index 00000000..7d3479db --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/room_little_game_bg@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_bg.imageset/room_little_game_bg@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2222debd3440435f0940becb4480b4e287ef412c GIT binary patch literal 6766 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/Contents.json new file mode 100644 index 00000000..066ceac2 --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_close@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_close@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/room_little_game_close@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_close.imageset/room_little_game_close@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0deeafca1d1d56e29f792ceab4d1a1ce9a080745 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u#3?$#IayJ4}(g8jpu0Yz@*x1Cx1VWmbnQ3Wh z0og!cpFH6XP@1D8$S;`To9iVrVK&L9KjOCm#hN``978nDCrk7-oE1IB<>?@#mlx7t zFhk|cM3Lwc4#$Wt*|Qu^b!26Gxde{N%JLN?hAH@StdY==XAo>I6jkVIeb5wO7bE6t z86p&G8DhArs3VEzslZW*QwO^YrzndEi@8ZS-SBE*{#eC+`EyG%mvMsO;>Lg_iEf5z gO$Vmdv?($$R6TL(p0;_mKhQZ0p00i_>zopr0LpAhiWS0HU{Y;0y`1|&^POdzDG zsj056u7iUEko!vT#~Pp_u96_XV1_#;uFtQB1PSt7@7AaXiazvoaSZV|{$`3T-ys8@ zR^^CdD_>gb%vtJiRZQDVjeHXWG-LiU%eRRtZ(z8dY>`^x<4+N(djliKIK zGq$=Heep*P?-{P$VOtzdavo-$wbWfSPO~VFfvbBNgW8lrrVnfWA57qW;43Na;`}W8FpZ9#4?>2`ko=OZiqe?XbP0l+XkKrbmYO literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/Contents.json new file mode 100644 index 00000000..d1ac372e --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_game_room@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_game_room@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d8d182268c00c526b9388b2fa62aae6c6b196735 GIT binary patch literal 7407 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room.imageset/room_little_game_game_room@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..81dd8abe6afa3ee409c1484bdddf4755764810ac GIT binary patch literal 15183 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/Contents.json new file mode 100644 index 00000000..c13aab2e --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_game_room_select@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_game_room_select@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..55a8dafa51db7a17aff9d038d01e15b74cda428e GIT binary patch literal 9918 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_game_room_select.imageset/room_little_game_game_room_select@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7b4209ced4fdb0a551f63bf6fb2f725f591fdced GIT binary patch literal 14729 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/Contents.json new file mode 100644 index 00000000..67d8685d --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_normal_room@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_normal_room@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..15d76aa695b739a97133964a1ba41e886bb90909 GIT binary patch literal 7379 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 FV1lcLc-{a2 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room.imageset/room_little_game_normal_room@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..26cd42d0b195f1ee1660238ec94b09555962310d GIT binary patch literal 16155 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/Contents.json b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/Contents.json new file mode 100644 index 00000000..fdb7e817 --- /dev/null +++ b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_little_game_normal_room_select@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_little_game_normal_room_select@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@2x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..55613bc2c8fc67fae24976902782549ee0e9b0b5 GIT binary patch literal 7666 zcmW+*by$;+6Q|jzjgV$+qmdSrW@9KIji7+2NDC4oO4k545MiRyf~2Gp(n#w-LQ-iY zm6C3F-=E*#^W5`!?(VtgbMf3?cQK~My37o`3=|X;%=&sd<`fi^@P9fULj4cxnO!C+ zD5y?M4K1$zGr`g;V2KJ?rU;fOfkjGSp)&YU11wSoOH{#fb+G6%SbX_EEcvHsfW^vS zks4U^e}BCfP$LEwU-=K~JpLbc1+4c3>MntGUjIqG=YLX+1M{zeb)I0sHK0}jtmXsi z6#o&P*C+v{mw+NQphO8MlL7uQgCI~U2mDLdbpJoXdRMT~5qyt1ue}5o;J^kapi%>@ ze*orR1q(ILD^-CHQeeG1n5Pf!)B~03K!qky{jZqI;9et8E(%nsf?IV!g%Fsp3seaJ zpOnGFCg7vwdATb1w-)#))~2Zmu6zPMsQ|S~=cSV1dJS0X2~?thDs}L871-ne9yFeQ zPys&i9=(@1EfGH{k~l0uH{le|sxE`8)yKtGz~#!5Qswj6@w0M4V7~F}gV6cx%yAhC z_%#oF4FP^FgXgE`vm-!*Ex0iX?sps(UIurU&SuEqK?``ibvDxn%%p<{WMH-$Tq*)j z55TP{@L&M^T@KFWfCtk+?JaPA6iYY47afTiX@xzgEG3o!l> z{8I)l1>eG{I1^EMZt6uTDWb6&4~wlD-t6rO+en0n}VR;7DTET2nF4Xg}; zE8l?H3ZSe27)ac~2Y_Yzz)UH4xDGC6fDMlQc2+?1EnqC+oa}qnZU^LLfXT1Hu1F9c zIqF~wRNVxh$M$M};loS0aTuDLSzaAi<};9b3^&GD#_%DZq+cwb zr}&KZo8E);_VS$u^*>*Ts&orQ?@B%SVlvyyH<_;gpk%7hW9q@Q&EJP3yh~+?weYni z`mzgi*nrQbx=VN6^XqPvN?8$^6wcKX>brB*`FVfyB2vHvQt$ zo=~;@+okB-{N`b{8khK=r+ho)z9(MMReCu_tbjY?U{6H z>4Bwr|6=Z^(>lg3s?n#Cjsw>=s-U~V#Mn*)$2e0~p)>I}(^1x_W(ZH{rx4|9?;HeG zk)3EVfji>0i%BJq#OBD~x}Mxx27=0XMa@6tKh`-DJ>+8>5-K_2!<~u}1)kzC!kLigb17qPU?3O6{H*!o0 znwsv~cOz9a<*+^>9E`{BMiMO)$FU+%2ya2LCbIL4E;Wi`yNz&B*nWhPEk^){AQn!BB$8A3dNFrtF3pOi4S-(%T{q|SHtFUE|4fa z?b7(|FZ7R-*h%RxEPfrqdzYvf1HY{Q@#x@uD5w3aqq1G|gj&_RTl^&)ZZU?x$<7Md ze!8e9T(u zh#_Vk7+$@dFIv_i>?ae>2pPnWW3PAVIKyK2QHAKvLx;!S+EMtI4R&PyCVT=upGmt$ zkZNc_OitK;gUNt(4sBP+@n;{cu210Eh6usK&~^?jV&=`R+QVJfiT89O*8q^ZBp1 zk@=qu=?NA`fA;s%=GKz>Ip?5v=X~8zKLJb=BVSz+M8TB`o8q#yVt!`FWp($4I13e)5LAPVKaVuZ*fSV zWFSM}YQ#@^}MT`h1I1QQxrL;9@sBLtg&`}Ox91md5%VoIgRUVpm+9}H=& zJ6dG)pgS;H{Q$|^Ssu6}rPPQoH}}MiH2ila;WX`h?Xt-)XsuIEob?v77|}rkz5VO_ z=uN4Vq`%B37&T!Q{isa^1xPcm(2j|aQlrro9GrD2rsaM&2Q*=5$o$B*7CS!>vo*&+ z$;_jZRyYLdUVSYo%OkCugq)B2R>OVFZ~ibS&&OXqe?(^?<1|nrxyX zyMDuK>=&oZPUm0&*Y}a;YOYjja*#?^Kki)myVc-NE?-*WS(B&I_dH+b`?TW|RmJzz zEIc0D?5GfDH|d#@4QL15!|A{G+-VZ>!Fdz9gY){o`{Wh0@LY#gT2l|59e)`u`8iR| z_?vasN1*Kk<`OtfwDV>|HjuqiB@0yDJ!44FBC-D=fU@y!HT54So8dXk0x&J zzfhPylUgn=DcSW8j|vp_(#3{SE>aTht}c2U;%9Kgt+U~5sSvEca~@?IrO)XoBMlEX z_p#gUo}^x}ZxK)wga)(t`AhLqYg5fdq=gPIlBZcjSU~T<7+k?}N`vfP4(6bLJ(x@{bpBF>w6RGk(my|?C{t?p?JL_$86ndiJ zT4thPK8!CfsZ9TaWmE`-Vc2}T$4a}f3p@VeT_43DJGZB8t#F#0e>9M99`<4W(A?*X zqg$lvn<`9JF8RH)zI`0*0^L5blKE}H=7R~h_%Xnr8vwB*E3Qz!=x3Lz-}=n{%#o?x zGkV@Dg4zW2nHsWF4dL5~IizNohaR6(C|tv4F7Ea%@zL^(xZ6#v*SRV~SVmu6tVUXP zk~F>0Ju9MRhy;h&0r%aNMdox#TU5fM_T8auuL31TfarE+ADD~3iWrCF2E zVKz$Y8G<60JUL|x8=3VT8Sr9o|I)9=gKFW7&UQzCZ)TvrB>dRMV7c|q9VEAmLnd|v zZVhnD64Mepo~jwMO6egs2u$XhgGOC&rk)>2qbZ7Zdxg~Ej55)r4RXedr1LlD75yR; zM#~B)mVmrf1tkec3tdt3Wre9pwHY<_;KQ|>Pgz!$5k?HelA=tb!F#LSpXL`1+vM{F z@wtu$N64E|mubXSuVoZUdw6(I%srD8;~@rL%EL19CNUZ0cT>`u>U@J5@-rI2oLCz_ z^b1{t@3ZBBYgI1y*elRPW{ubj@QatDA_rcLUD+74@T3pruPAXBHR&CpWjr!{!`pt# zPyzm=WrI3_z|17fatBGzDUTvje ziwYZ+kW$v=L~7G$rjl(~?4w)LpwWLIMYpoZ+w9y%bK48rk$4(kA-Gbb$E(zuA0p*@-n{|!h17G zKH~L>q6@uY)sC_1U&FLgV{!t-c=SG12w)dk*~B`n^|2q=f1CDe3w7n+pwW<`>bwu7 z8r*lDf%RJR=**JXOH71mSy?yp=aC=FuCHQgGRfk!*}UScEc8^<(**hH2%+~E8O*d< zW43rIpUI}Wa@<>>gZt&)YV2`UpP1g7eo8YAV^cB51#ann&g7FSnMW-3_q=2gd#dBF zs0^)qYdQZF2jRCoWsiv(&uDZTE&f8Xe&9mPn3uh2nHN)lP%7uqZKn)Z4pW9}-Z3+$ zn3X7m(8OE3-r`7_`k_dp0~bl7kGVMM34hAqfPKaS*Rv*@8XHUZTR7mhBxJU~xKWDq zWB84=jR)iF_>y)M+b!yio0y$Bk8)*`>Eua57a%q5$ed=a>Z4Z_W{I#R3g%Ww*36Ki zs_H5sBRk+k)VqNc#KEa)iY=rUPUG?jvj#|*rWazjp-^5frp&u5-)&WV-;%y%M1K{D ztZq=0rE7F!z6gOdB-=>6@ZDWPCR0Mc>Z$B@ML$zyfa$rxMG_gBv@NIXM`P@?!iBt* zO~*P>$R{beCRa2x`9GLyNUon`U)R+uNj8oDRZ08Y&X35A&2h@h zXI`s7T+xuiL?W&E-AI0^z5y?JC?&74Bl|eTU`bhDCW64!{?}YB1Zi%$ z)VcD`oA{D}s@nOIaq`WofD3VRJ@##;39pem>PzXp_ip|@ug#Z>qdwA_yOlf}-9Q#` zfToF{+x}gs+Ln#)6pJcOj5smpqHd(!OiLQ3OTXRoLq_6pi3np+Y$b^atG7(=2aWk1 zko7qvFmNK%A@~J+5_Y~AkaajTe3;_14Y~TxSK20u*5~y2`yJZYJMmc|)Z^;*cI7cl z1p%}X;a&VtD(S^E*W&m0+g0d3y57(KZJw|}PWpz-HNd(}9JGGlxD?23&s?fmH)yIur zuXv!U$Mu@osBWXZH`I3^QjM66Xcr$d-V}U^pmJRMQI@VPKD54llP+LkLJX_W9(m2s zn#7W#a@vEB<3cd_+j&aHW?{#2xk3>Re!3$XI&Dx_wl5xRYFYdM-hAKjCRb_?pjT#qkL` z2h-J2BM2dOgoXEd3RqTKP~)C4b{e+G>cc+34DbEm(c+Wly)-Lm+u}q0c&R;dGeDMu z7_ENd_m~j{w~XfJCcN_W8|NJI<-NDMl<4Oh^c*8|$iNa5_{~VGY^U^dWwg$L9qcO0 z$D;yj3Hd(3vL&jQJWk#M_;ba)gK$WKW2G#j)_LaD*GNV^EF#5AMjX!QW2L@UkD-Ai zcdh>jrD?nI4(h~^Cv=~D;(wi=iR#N{LEoKD-RF&CxoK%dMmzW3hg=p;jbM222cemG zy*DL~=ry+X_YI=@1gUP{JD>1wT~Lv#I>Ilz>u`-Gq8_;;x|&T@AvI3Q zrLr~~(sq`8=rR7L5=SW&Y`FQ=74tMkM!BX=)13b4ll$9(wDAQLP3mq;N=nIs#^Dug zk2aHqs9kJr%O{O*1U-l_PnFNruzL^Q8o+(jt|NGxe5Pl9v%27*aGVcQmJ@6dbICR-eIIjz%-m&4rwk(7if@?1Vfc2d7=6l{_?XpNWr%}s%N-gbEQsBr4~r}*@l{MQ@Eg~ld1 zTMK09wp-)hfd{GGnb&Jk^m^WBKW-P~4kJGo@w_8l);OqUrx(e|TmNh0fb<#czrd!7 z=T~fLI?FT+)k%13it1JhF{W5~3QdGjV2`(?uOm2MoO-X`LkUb)y*Y8LDnBPCROuva z0%F^^Ly3|;RdhqoTnOTA&*6MeM)il`Ib5I}tDZ+t9*tvO+Y?B93Z8t^?r4Wi8QD*X zT%m?v;m7;i4!SN+rXOz3YJo{umV>c@sn=`W561@NJ&PcZdQTF*=hrC3yw!?65BguAuk;PKW8JqIQr%*ib^!&=M!^Hm{O=hbm zxC=#Wh0mQ0KQ4kTjaN!CnRiFp*J&$19;QGi3sR3KtGx|pWg$dNirm9ty-CJeLZ z?O0y+ezl~)BMbtX!H0fH9uoU;Ae?d}2`NT_W=AwqzQVsYG#3u-@S4K=fR*$Z}E!xVS74&33g) zTdT-S()kfHy5cWWss5782PWN5?;l@?MADJ|a1cGCy#vbWlZkCqW-l#h=1gDM20hwF zOPjDRM#+ZjM$cQVA0F>+w*Rn#OFCxdHxbCQRaA%q#poU9QONyW3+I2g}g6r1DU2{}B8FwENjibh0`iT-te{{@Zn!B->N@Qzp8RkQ(J ztU`gslDJ@*eNlIdzeQGpC$#OzlPadb($BE>4vP^;LHN7@KL^w?n+r(>@ zR8uS6{OIZGYC8>i$z&MuCHrnJu;xK9F;Gu35g%%mjYL-S!lw~bZ9RfR+3)~mv(EQT zr&}w-gx}YxR98g?Ff4{b!S^jV%yF?0SU+4w4U)gZ`@rx*hDb~DBUJZc(p@dJBa%q%D2+U#(A_PfiVc!7%%wtiI!P5%G&^LPfZoTL-fQt~ zqdLRile2XM=9?{IGYNrw4#5ledJvcS3c@Kz{YdBE2lKiRwXHR zIUu4jNK34*v9_;fyAgtyv;Ax+pD*v9)bq=xHQDC4X{dpZ* zbf?(e4r?en+KY3eiLchQxZwZJ?c97nUhVBqw$C4SX{lbh)yTIn(OjU^RxU2B53N*9 zyjIy{j5Kfh*x^^C_`3TPXKI&wIzu_nisDC*YA43%TjiuL=p5ZC*2*6m3(bxDtHO{i zhA4&KLq-(!&b0|xdgtAn)NXZ{#2#YIARI}QXeEs1g7iMmZ&h&}sPH2gYxF}e6pWeR zC$g-FHhkAO7 ca43D3c;(DI<1X{R_Z5ZyRb!nG+IIN=0k|=G2mk;8 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_little_game_normal_room_select.imageset/room_little_game_normal_room_select@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..763e225693c6bcc5fc82437adf55cedc0d766319 GIT binary patch literal 15988 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 literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/jm/LittleGame/room_position_little_game_right_arrow.imageset/room_position_little_game_right_arrow@3x.png b/YuMi/Assets.xcassets/jm/LittleGame/room_position_little_game_right_arrow.imageset/room_position_little_game_right_arrow@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..5234572e156d49ea5055ce39c5b82cad5624cd5f GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^P9V&|3?#2~eYgdr+5>z-T!HleK>)HQ{ucx~MW-al zFPPzPDm&w^Z=c^kS|`MEt}<9pT;%oXy-m5XK5iz8ywC4m-8O52mh_T&GrQC5ybpc2 z0@QcM)5S3);_%z4p6d=72)JDCl)bI^*+Jpq=b6WM{r@>(!i|lKw*BS%uq1E#ZY9@1 zk*9~1>P(g>m1SO=&?R!?tflFROU#Kr67HM$8mt5QGW1v^{Mrh0^7w*6raaCsaoGN( zEt0*_c8;d|+{hCjQrZmP3OYnQjXAZgX-kYjSIsNNojDTimhTy@iyXf?gd4upu>G*# zi^F*u)8CxB`_6Zn%M!{WMVadJJHP8#A2@zQ>ek}cmd-!&W%0s|v&xuaq(4{BTc!KJ x`_-RaLTgS-PgoB{n-sm?oV&mlP*VyB%tihL-utPv>CnHt2x5;sDk@cdA zw*UYD6LeBeQvk@5HTU!H4cFjKU(&3=Q~HhXIw%MdkKtB$a!sP4@!#lq5l4}C1o z?@WLdb^o%r26-=2VpSzyi03(<=<9-yPN(rxjkoT{JevO3(U_ZK17m9)^H=j>OlzT7 zq{6Vvbm|JLV)VkEdh@T&;}=$93w5SbBNRJ6!drWP z8{m3Ae>*E6J*wt+Sl6At?F(xZ`( ziC9fSIwBwir;ggkumAu8oJmAMR9M5T)!A0^FcgO2oum_`Ofm|7okRtPpY>1b()+(J zEiBv?lh9J0!yN3DH~S!Dvxw%Q8U}qw0K(}9Llw@W1)b({JPKTi66pq`@g>za8@N4a z_1wXXYH3eASb38+RTU{;;0WQXh$;y^feM5dR_SbYQBk*bw0P=ER3`l?St$p#IEu_V zErFUut7DvYAyAvR=oqG5Nt{4lb@X?WIEmEWkKe8S`)PJ6a5ACjz|=tl&Xh{pJ{s}c z<%g4KM3$Z}?4qG=$kQSZjd_t~tIfB|dpOfJCIV+5CbZ+>EIitp!QlQO#}7Fl9-2{M z0IhuUlC2UP`1_pwe}vv(`#ZbP+N|Sv`F1ex_E#FG?|-1>7XSIUr!RepKc!h|-s4Si zc>NDry)n^Z1g(cGE-b&#yS>?+{f6FXK~Vs$e6@@V=~Kd`@z#0+y&$5w3%%qmjrYA= zTC}cAyLIOjN*E;Bl6!Zhh4ozy0~wM6%=6NHFPC25-NQ)H5N65KSFf#<4JiOK_rBUn zSwMX-OD~t&^vMA;_j0L~Ljug$%cXXLa7^;LFI{n|$ww<@lY%f5#NaEqbR$-$3*`yE z`Ul1P->b_oEfc!VD?aNASn*Azzbr{Xre*9y+uN~<;#~7DZooy2;POs1O+&EI}Q*TwMP~;)L zBOA!zxCnQWO67-M geum~pa(KdD0Q?jmuvy;MiU0rr07*qoM6N<$f*KL`?f?J) literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/Contents.json b/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/Contents.json new file mode 100644 index 00000000..922fc539 --- /dev/null +++ b/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "home_play_create_room@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "home_play_create_room@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@2x.png b/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..375994143608e7e81aebdcabab5a4dd68ea70b9b GIT binary patch literal 3343 zcmYjTc{tQv8~zPONLeBwTe7wn5z3NXS+b;37%6XLYa^;L4Q1aVTlRg+zL%lF*i8(5 zVj}e-gwdFv+0Hjz-#_1To&7o2bMABB&vmX7X=`n^M?gvdf}lMX=Ehezz1!c)$IWR; zrmr{-F1qa{2NTZpz})tyM}Xi5)TgP<(cr@iP?ZKQOwjFy>34b=MMdB#j+I{xVp~B+ z7)Z_swaMW81nkn!uo&A>nxQe6AiV*Ebh4@|Kvxiuo869S1@?pV_y)i+HVZIl;PA|L z=M#>L#yQA%mNuLKt`0Cxk>Kti&=dH#tjz#dBK;#8a8_zkKj^kKyWQ&ttVigsBt~>UOY%ECrwBAf0jard1_1lMQ#s@6 zRNzKnP?=zb4%#tbi4M+9z+OE}*>AK3nBDULQ0BoHjWxB-Uib+j+SyeUR>m3~9|)x9 zs4qUUIPoRsx7)%2`U9)D2oQXM`PdF;1*U+!N<(PwreK!W<;aB+#+R zxYxrRTmrK*U}*r5s)61F{1nIZ|HLdR2IV=xVThqU3F}Y5y@3GU0@E<_`zYuf1sT2U z*fw@eDtOYx!geql;{Zofj&K}N`uu^!9F@Zc;XY9PN|XM!U6K!4Uj0Sb{TP(xfRE4r zLd~rLr@zqJu%I&pWY>YpOwbe!j{S$m(M4f)JHH%o0C05o?`Cocf1e5(;=p4Z(`k^- z$qJ5+2`y}Q0^=MB&S(JMcqS+1QkpUp z;L94DNMR8uEWfXGCJef&!Bi$7#sJJXv#ACo4l`E?VD3HGV6ijstR^ZmVwLVPzvI0E zJNyf0jIdm1c696_bvW5y_wb6fJ#^;(Oyi6klFeqb)X1mV7t~}_RS&|e1V^RAj(WOs z`{|_0r*=jmSBCW7zXb-o}>uP)Bb%}$DYg$cWZ($hV*AO5pC zJvlKkR9jwFR$7pg_3G8rhj%@k&CN_VmKML0$&-E6m1S|*Fm#~XH79s=b!lXv?^AVF zR&r8YT%ez?ueYbCr-hj|Oj%o*AHX$dp)4%uE2MrL&UFMS2|@g#7RH7SUgWBbN6z-{ zV!i9Xk3Xm{7S&m{6%i3pa&;TkysJg(EaMr%eO!4P)GqYE#ncR?} zP)n#ntw~>CvFVA4yG!qGG;=n8BQ6+;At^iB+VGFT0={(NNvB;c328wsms5<2!#kgu z?b?vh?HTE+_6p7}b zvi{$(IRWA7vr0b?38m?e<#}~sOoGuUN;!EC7njtVn~qjp+((Zd9T*%8Z5exif$k(Iv zTpl0tdeYhae&VN*jM5OGagr%~16h@$~ z74muEj4z7p+tNjLb!AG4HPw!MbHGtOJ>%(mQqkKFNBzjR;w%+^Iy-gO^;iYr`+9ASp0gfhDCw-UPs6_rT?EEliSYMisH;d zCBJ7D-zRi6DnRAGLGP1(9{KLsESP}cX;o2RjxT*4KXc}^X^WNTX>MxC%F7Nx=p~zc zLsz1Is3B>fuZd zTAh|b&tFsHQ9i7vii+j&!9rhZPyw5U`6xEyOL?K2pl`36%~>Fkmx2w4T=5RjDSg7%AfXvE9t;)K@`*E|hKJ8tWWK&d9G zRtq}Si14?t8qYO)bBw*=xJBi5%=}qsdV8um=S}go7=gwTu25@BE5@a(1?CW;%U%YO zh&y8OmLXB)#0dZX#92Vew&1jOR5DbvKVWbf8vQ&z{=$~&E9q2U&7XHSDXIKxRLj~M zH0PDNt6`S;k)M2N_{$lKn~7oiO7fbTDZFzrf;DNi^Q2w5c4tJ)T7^C|H8g}?u9sWB zYIN9M0&S4UcfOc=rX_$IDnG8}l(^<~7~(e0fBpvDtfr>smm*fKw4b)iZU4B=+3gtf z!};e2KS~^NiV>)h@=ibKJ>;e-MDQ#Lq5N4MSFw@Rf6f%~Ta2gWy&8M=i6OHaCvUn3 zooRj>KFKJyP(?jj{zZ*$exE?>Cboy~6Oub8DZ%>Hn&&a>h~yHg5swu7ZJaa0wkz2HSpqIcP{T1EFjz7>g?bMAEQ_5WPd^f8p+WIn0tA(J};mAyiUM4n+M+Fy;*!Q(ho{ zmg154b-WY5vLt>p-U{ERv@o{V?jm=yxV@<(J~A@chJ-0kOjCcj3up3;r!9JF>n-s_ zj=f9A7?-}FsU>8ap@Hze_N78`@M-eAi2jUhnJd51t>;S4NXUnD^BYxDltMr5egsC; zIM5)w0@FOzB!3~{n9c!r<0U&ofHe}h8KBHZ!zP)#=%S35c2-3A46MA5BD-Y6L@h{V z(4Q%8_)OjfKBMyEy{9rroyMOY9 zJaP(kDBvhtDti){Tf|rH{;yOM`Z_eWxt=%Y=CaTq(Uqn)RRtHrE z+|hU{7Acp_XCS;4-^P_NN!Y_PzN;SpIX!{TLtU?g82AX%2%F66$Jzyt%~{~DdnXs9 zFPuGK^RLcvtlPAImb14ZzFnFkcSNN@>B^YMy|k0$#RUo8+@2S)2Tw~7C-@(7=j9N2 zk(+WVo9sKnTdqhsq4s+Ddh_etPgH3@a89q%My;y5x}y4&{0%Y(|4 zvpcfLDbYR>pu5|poxdUT443@d(c4^co)59|9q8~y!`FJZLIt3 z4g&IjbjY%8Fi6DDpE7U@U-P>$FmN36RHD7~C8~jKk2$&U(Z*R?&7T%=K)SEE7DA~xH-;Pzu!si9!!@y$ub)i$=Dq#U{_HG-`FdHhf|1RQbyp~)_bQrh zphNHm_oqCWQDG~Tc3tf+KV7wIMq64xUdy?Wu%UeK{$1hMVNb=C>qlOzoQU%JkOQ$w}UK9tc|OU+%W$IIJyHe literal 0 HcmV?d00001 diff --git a/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@3x.png b/YuMi/Assets.xcassets/low/newhome/home_play_create_room.imageset/home_play_create_room@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..82e36ddab8005b299abdae00deab53aade16426f GIT binary patch literal 5052 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 Wvp_N@)E!#@0000SYp+i85)DS|b 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 jt ///分页标题 @property (nonatomic, strong) NSArray *titles; @@ -80,6 +82,7 @@ @property (nonatomic, assign) NSInteger roomUid; @property (nonatomic,strong) WalletInfoModel * infoModel; @property(nonatomic,strong) UIButton *rankBtn; +@property(nonatomic,assign) BOOL pi_IsNative; @end @implementation XPNobleCenterViewController @@ -98,7 +101,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - + self.pi_IsNative = YES; [[NIMSDK sharedSDK].systemNotificationManager addDelegate:self]; [self requestHttp]; [self initSubViews]; @@ -208,6 +211,18 @@ [self.presenter openVipWithDiamondRoomUid:roomUid]; return; } + + if(self.pi_IsNative == NO){ + XPWebViewController *vc = [[XPWebViewController alloc]init]; + NSString *channel = @"p"; + channel = [NSString stringWithFormat:@"%@a",channel]; + channel = [NSString stringWithFormat:@"%@y",channel]; + NSString *url = [NSString stringWithFormat:URLWithType(kChannelUrl),channel,@"5",[YYUtility deviceID]]; + vc.url = url; + [self.navigationController pushViewController:vc animated:YES]; + return; + } + if(self.rechargeModel.list.count == 0)return; [self showLoading]; RechargeListModel *rechargeModel = [self.rechargeModel.list safeObjectAtIndex1:0]; @@ -232,6 +247,23 @@ self.infoModel = model; } } uid:uid ticket:ticket]; + + + + if([ClientConfig shareConfig].canOpen){ + [Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + if(code == 200){ + if(data.data[@"isNative"] != nil){ + self.pi_IsNative = [data.data[@"isNative"] boolValue]; + + } + + } + + }]; + + } + } ///批量验证 @@ -289,6 +321,7 @@ ///请求充值id的状态成功 - (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid{ + if (orderId.length > 0) { self.orderId = orderId; if (@available(iOS 15.0, *)) { @@ -334,9 +367,40 @@ ///请求充值账单失败 - (void)requestIAPRechargeOrderFail:(NSString *)message code:(NSInteger)code { [self hideHUD]; + + if(code == 50000){ + + TTAlertConfig *config = [[TTAlertConfig alloc]init]; + config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); + config.message = YMLocalizedString(@"XPIAPRechargeViewController8"); + TTAlertButtonConfig *confirmButtonConfig = [[TTAlertButtonConfig alloc]init]; + confirmButtonConfig.title = YMLocalizedString(@"XPIAPRechargeViewController9"); + UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x13E2F5),UIColorFromRGB(0x9DB4FF),UIColorFromRGB(0xCC67FF)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(200, 200)]; + confirmButtonConfig.backgroundColor = [UIColor colorWithPatternImage:image]; + confirmButtonConfig.cornerRadius = 38/2; + config.confirmButtonConfig = confirmButtonConfig; + [TTPopup alertWithConfig:config confirmHandler:^{ + [self.presenter getContactCustomerService]; + } cancelHandler:^{ + }]; + return; + } + + [self showErrorToast:message]; + + + +} +- (void)getContactCustomerServiceSuccessWithUid:(NSString *)uid{ + [self hideHUD]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P]; + SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session]; + [self.navigationController pushViewController:sessionVC animated:YES]; + }); + } - ///二次校验成功 - (void)checkReceiptSuccess:(NSString *)transcationId { [self hideHUD]; diff --git a/YuMi/Modules/YMMine/View/Recharge/XPIAPRechargeViewController.m b/YuMi/Modules/YMMine/View/Recharge/XPIAPRechargeViewController.m index 37479897..fa6fc5b0 100644 --- a/YuMi/Modules/YMMine/View/Recharge/XPIAPRechargeViewController.m +++ b/YuMi/Modules/YMMine/View/Recharge/XPIAPRechargeViewController.m @@ -401,9 +401,11 @@ [self.presenter getContactCustomerService]; } cancelHandler:^{ }]; + } } - (void)getContactCustomerServiceSuccessWithUid:(NSString *)uid{ + [self hideHUD]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P]; SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session]; diff --git a/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.h b/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.h index 8c43898c..6c39e575 100644 --- a/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.h +++ b/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.h @@ -23,7 +23,8 @@ NS_ASSUME_NONNULL_BEGIN - (void)getPlayGameWithTeam:(int)pageNum withGroup:(dispatch_group_t)group; ///发现新朋友 -(void)getFriendListWithGroup:(dispatch_group_t)group; - +///获取小游戏列表 +- (void)getLittleGameListWithGroup:(dispatch_group_t)group; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.m b/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.m index 551d8b50..cb1b5297 100644 --- a/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.m +++ b/YuMi/Modules/YMNewHome/Presenter/XPNewHomeRecommendPresenter.m @@ -9,6 +9,7 @@ #import #import "Api+Home.h" #import "Api+Guild.h" +#import "Api+LittleGame.h" #import "AccountInfoStorage.h" #import "HomeMenuInfoModel.h" #import "HomeRecommendRoomModel.h" @@ -16,6 +17,7 @@ #import "HomePlayRoomModel.h" #import "XPNewHomeRecommendProtocol.h" #import "ClanDetailInfoModel.h" +#import "LittleGameInfoModel.h" @implementation XPNewHomeRecommendPresenter /// 获取首页顶部的轮播图 - (void)getHomeTopBannerListWithGroup:(dispatch_group_t)group { @@ -140,4 +142,18 @@ [[self getView]getFriendListFailWithGroup:group]; }]]; } +///获取小游戏列表 +- (void)getLittleGameListWithGroup:(dispatch_group_t)group { + NSString * uid = [[AccountInfoStorage instance] getUid]; + if (!uid.length) { + [[self getView] getHomeRecommendDataFailWithGroup:group]; + return; + } + [Api getLittleGameList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + NSArray * array = [LittleGameInfoModel modelsWithArray:data.data]; + [[self getView] onGetLittleGameListSuccess:array withGroup:group]; + }fail:^(NSInteger code, NSString * _Nullable msg) { + [[self getView] getHomeRecommendDataFailWithGroup:group]; + }errorToast:NO]]; +} @end diff --git a/YuMi/Modules/YMNewHome/Protocol/XPNewHomeRecommendProtocol.h b/YuMi/Modules/YMNewHome/Protocol/XPNewHomeRecommendProtocol.h index e113bdbe..81b8dc56 100644 --- a/YuMi/Modules/YMNewHome/Protocol/XPNewHomeRecommendProtocol.h +++ b/YuMi/Modules/YMNewHome/Protocol/XPNewHomeRecommendProtocol.h @@ -8,7 +8,7 @@ #import NS_ASSUME_NONNULL_BEGIN - +@class LittleGameInfoModel; @protocol XPNewHomeRecommendProtocol @optional ///获取首页轮播图列表成功 @@ -27,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN -(void)getFriendListSuccess:(NSArray *)list withGroup:(dispatch_group_t)group; ///发现新朋友 -(void)getFriendListFailWithGroup:(dispatch_group_t)group; +///获取小游戏列表 +- (void)onGetLittleGameListSuccess:(NSArray *)items withGroup:(dispatch_group_t)group; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.h b/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.h new file mode 100644 index 00000000..4987ba7e --- /dev/null +++ b/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.h @@ -0,0 +1,17 @@ +// +// XPHomeGameCell.h +// xplan-ios +// +// Created by duoban on 2022/11/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XPHomeGameCell : UICollectionViewCell +@property (nonatomic,assign) BOOL isChoose; +@property (nonatomic,copy) NSString *imageUrl; +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.m b/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.m new file mode 100644 index 00000000..01be6ce9 --- /dev/null +++ b/YuMi/Modules/YMNewHome/View/Cell/XPHomeGameCell.m @@ -0,0 +1,55 @@ +// +// XPHomeGameCell.m +// xplan-ios +// +// Created by duoban on 2022/11/21. +// + +#import "XPHomeGameCell.h" +@interface XPHomeGameCell() +@property (nonatomic,strong) NetImageView *bgImageView; +@end +@implementation XPHomeGameCell +-(instancetype)initWithFrame:(CGRect)frame{ + self = [super initWithFrame:frame]; + if(self){ + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; +} + +#pragma mark - Private Method +- (void)initSubViews { + [self.contentView addSubview:self.bgImageView]; +} +- (void)initSubViewConstraints { + [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.contentView); + }]; +} +- (void)setImageUrl:(NSString *)imageUrl{ + _imageUrl = imageUrl; + _bgImageView.imageUrl = _imageUrl; +} +-(void)setIsChoose:(BOOL)isChoose{ + _isChoose = isChoose; + _bgImageView.layer.borderWidth = _isChoose == YES ? 2 : 0; + +} +#pragma mark -懒加载 + +- (NetImageView *)bgImageView{ + if (!_bgImageView){ + NetImageConfig *config = [[NetImageConfig alloc]init]; + config.placeHolder = [UIImageConstant defaultAvatarPlaceholder]; + _bgImageView = [[NetImageView alloc]initWithConfig:config]; + _bgImageView.layer.cornerRadius = kGetScaleWidth(10); + _bgImageView.layer.masksToBounds = YES; + _bgImageView.layer.borderColor = [DJDKMIMOMColor appMainColor].CGColor; + + } + return _bgImageView; +} + +@end diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m index 055533ab..4d5373bc 100644 --- a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m +++ b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m @@ -200,10 +200,12 @@ _gameIconView.hidden = NO; _borderImageView.hidden = NO; [_chatBtn setTitle:YMLocalizedString(@"XPSessionFindNewAlertView2") forState:UIControlStateNormal]; + }else{ + if(_roomInfo.inOnline == YES){ + _greenView.hidden = NO; + } } - if(_roomInfo.inOnline == YES){ - _greenView.hidden = NO; - } + _wealthView.imageUrl = _roomInfo.userLevelVo.experUrl; _charmView.imageUrl = _roomInfo.userLevelVo.charmUrl; if(_roomInfo.userVoice.length > 0){ diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.h b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.h index a2b16055..ae0192f6 100644 --- a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.h +++ b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.h @@ -1,21 +1,25 @@ // // XPNewHomePlayEmptyTableViewCell.h -// YuMi +// xplan-ios // -// Created by YuMi on 2022/10/8. +// Created by 冯硕 on 2022/10/8. // #import #import "ClanDetailInfoModel.h" +@protocol XPNewHomePlayEmptyTableViewCellDelegate +-(void)emptyCellChooseGameAction; + +@end NS_ASSUME_NONNULL_BEGIN @interface XPNewHomePlayEmptyTableViewCell : UITableViewCell --(void)setConstraints; --(void)setTitle:(NSString *)title; +@property (nonatomic,assign) BOOL isClan; +@property (nonatomic,weak) id delegate; @end diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.m b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.m index c8521061..bc446b10 100644 --- a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.m +++ b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePlayEmptyTableViewCell.m @@ -1,82 +1,130 @@ // // XPNewHomePlayEmptyTableViewCell.m -// YuMi +// xplan-ios // -// Created by YuMi on 2022/10/8. +// Created by 冯硕 on 2022/10/8. // #import "XPNewHomePlayEmptyTableViewCell.h" ///Third #import ///Tool -#import "DJDKMIMOMColor.h" + #import "UIImage+Utils.h" @interface XPNewHomePlayEmptyTableViewCell () -@property (nonatomic,strong) UIImageView *emptyImageView; +///背景 +@property (nonatomic,strong) UIImageView *backImageView; +///添加 +@property (nonatomic,strong) UIImageView *addImageView; +///显示标题 @property (nonatomic,strong) UILabel *titleLabel; +@property (nonatomic,strong) UIButton *chooseGameBtn; @end @implementation XPNewHomePlayEmptyTableViewCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { - if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { - [self initSubViews]; - [self initSubViewConstraints]; - } - return self; + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; } --(void)setTitle:(NSString *)title{ - _titleLabel.text = title; -} #pragma mark - Private Method - (void)initSubViews { - self.backgroundColor = [UIColor clearColor]; - self.contentView.backgroundColor =[UIColor clearColor]; self.selectionStyle = UITableViewCellSelectionStyleNone; - [self.contentView addSubview:self.emptyImageView]; - [self.contentView addSubview:self.titleLabel]; -} --(void)setConstraints{ - [self.emptyImageView mas_updateConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.contentView).offset(kGetScaleWidth(90)); - }]; + self.backgroundColor = [UIColor clearColor]; + [self.contentView addSubview:self.backImageView]; + [self.backImageView addSubview:self.addImageView]; + [self.backImageView addSubview:self.titleLabel]; + [self.backImageView addSubview:self.chooseGameBtn]; } + - (void)initSubViewConstraints { - [self.emptyImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(self.contentView); - make.top.mas_equalTo(self.contentView).offset(150); - make.size.mas_equalTo(CGSizeMake(100, 100)); + [self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.left.mas_equalTo(self.contentView).inset(kGetScaleWidth(12)); + make.top.mas_equalTo(self.contentView); + make.bottom.mas_equalTo(-kGetScaleWidth(10)); }]; - + + [self.addImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(48), kGetScaleWidth(48))); + make.left.mas_equalTo(self.backImageView).offset(kGetScaleWidth(12)); + make.centerY.mas_equalTo(self.backImageView); + }]; + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.emptyImageView.mas_bottom).offset(20); - make.left.right.mas_equalTo(self.contentView); + make.left.mas_equalTo(self.addImageView.mas_right).offset(kGetScaleWidth(15)); + make.right.equalTo(self.backImageView.mas_right).mas_offset(-kGetScaleWidth(12)); + make.centerY.mas_equalTo(self.backImageView); }]; + [self.chooseGameBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.backImageView); + }]; +} +-(void)chooseGameAction{ + if(self.delegate && [self.delegate respondsToSelector:@selector(emptyCellChooseGameAction)]){ + [self.delegate emptyCellChooseGameAction]; + } +} + +-(void)setIsClan:(BOOL)isClan{ + _isClan = isClan; +// if(_isClan == NO){ +// _chooseGameBtn.hidden = NO; +// [self.backImageView mas_updateConstraints:^(MASConstraintMaker *make) { +// make.right.mas_equalTo(-kGetScaleWidth(141)); +// }]; +// return; +// } +// _chooseGameBtn.hidden = YES; +// [self.backImageView mas_updateConstraints:^(MASConstraintMaker *make) { +// make.right.mas_equalTo(-kGetScaleWidth(12)); +// }]; } #pragma mark - Getters And Setters -- (UIImageView *)emptyImageView { - if (!_emptyImageView) { - _emptyImageView = [[UIImageView alloc] init]; - _emptyImageView.userInteractionEnabled = YES; - _emptyImageView.image = [UIImageConstant defalutEmptyPlaceholder]; - _emptyImageView.layer.masksToBounds = YES; - _emptyImageView.contentMode = UIViewContentModeScaleAspectFit; + +- (UIImageView *)addImageView { + if (!_addImageView) { + _addImageView = [[UIImageView alloc] init]; + _addImageView.userInteractionEnabled = YES; + _addImageView.image = [UIImage imageNamed:@"home_play_create_room"]; } - return _emptyImageView; + return _addImageView; +} + +- (UIImageView *)backImageView { + if (!_backImageView) { + _backImageView = [[UIImageView alloc] init]; + _backImageView.image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor colorWithHexString:@"#E7D7FC"], [DJDKMIMOMColor colorWithHexString:@"#D7F8FD"]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)]; + _backImageView.layer.masksToBounds = YES; + _backImageView.layer.cornerRadius = kGetScaleWidth(10); + _backImageView.contentMode = UIViewContentModeScaleAspectFill; + _backImageView.userInteractionEnabled = YES; + } + return _backImageView; } - (UILabel *)titleLabel { if (!_titleLabel) { _titleLabel = [[UILabel alloc] init]; - _titleLabel.text = YMLocalizedString(@"XPGuildEmptyCollectionViewCell0"); - _titleLabel.font = [UIFont systemFontOfSize:16]; - _titleLabel.textAlignment = NSTextAlignmentCenter; - _titleLabel.textColor = [DJDKMIMOMColor secondTextColor]; + _titleLabel.font = kFontMedium(12); + _titleLabel.textColor = [DJDKMIMOMColor mainTextColor]; + _titleLabel.numberOfLines = 0; + _titleLabel.text = YMLocalizedString(@"XPNewHomePlayEmptyTableViewCell0"); } return _titleLabel; } - +- (UIButton *)chooseGameBtn{ + if (!_chooseGameBtn){ + _chooseGameBtn = [UIButton new]; +// [_chooseGameBtn setBackgroundImage:kImage(@"home_play_game") forState:UIControlStateNormal]; + [_chooseGameBtn addTarget:self action:@selector(chooseGameAction) forControlEvents:UIControlEventTouchUpInside]; +// _chooseGameBtn.hidden = YES; + } + return _chooseGameBtn; +} @end diff --git a/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.h b/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.h new file mode 100644 index 00000000..b915fdde --- /dev/null +++ b/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.h @@ -0,0 +1,23 @@ +// +// XPHomeGameView.h +// xplan-ios +// +// Created by duoban on 2022/11/21. +// +#import "LittleGameInfoModel.h" +#import + +@protocol XPHomeGameViewDelegate + +-(void)xpHomeGameViewChooseGameWithGameModel:(LittleGameInfoModel *_Nullable)gameModel; + +@end + +NS_ASSUME_NONNULL_BEGIN + +@interface XPHomeGameView : UIView +@property (nonatomic,strong) NSArray *playGameList; +@property (nonatomic,weak) id delegate; +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.m b/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.m new file mode 100644 index 00000000..4d9db2b7 --- /dev/null +++ b/YuMi/Modules/YMNewHome/View/CustomView/XPHomeGameView.m @@ -0,0 +1,158 @@ +// +// XPHomeGameView.m +// xplan-ios +// +// Created by duoban on 2022/11/21. +// + +#import "XPHomeGameView.h" +#import "XPHomeGameCell.h" + +@interface XPHomeGameView() +@property (nonatomic,strong) UILabel *titleView; +@property (nonatomic,strong) UIButton *backView; +@property (nonatomic,strong) UIButton *confirmBtn; +@property (nonatomic,strong) UICollectionView *collectionView; +@property (nonatomic,strong) NSIndexPath *path; + +@property (nonatomic,strong) UIView *bgView; +@end + +@implementation XPHomeGameView +-(instancetype)initWithFrame:(CGRect)frame{ + self = [super initWithFrame:frame]; + if(self){ + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; +} + +#pragma mark - Private Method +- (void)initSubViews { + + self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5]; + [self addSubview:self.bgView]; + [self.bgView addSubview:self.titleView]; + [self.bgView addSubview:self.backView]; + [self.bgView addSubview:self.collectionView]; + [self.bgView addSubview:self.confirmBtn]; +} +- (void)initSubViewConstraints { + [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.right.left.equalTo(self); + make.height.mas_equalTo(kGetScaleWidth(362)); + }]; + [self.titleView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(kGetScaleWidth(14)); + make.left.mas_equalTo(kGetScaleWidth(15)); + make.height.mas_equalTo(kGetScaleWidth(22)); + }]; + [self.backView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(kGetScaleWidth(26)); + make.right.mas_equalTo(-kGetScaleWidth(15)); + make.centerY.equalTo(self.titleView); + }]; + [self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.left.mas_equalTo(self.bgView); + make.height.mas_equalTo(kGetScaleWidth(118)); + make.top.mas_equalTo(kGetScaleWidth(74)); + }]; + [self.confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self.bgView).inset(kGetScaleWidth(15)); + make.height.mas_equalTo(kGetScaleWidth(46)); + make.top.equalTo(self.collectionView.mas_bottom).mas_offset(kGetScaleWidth(70)); + }]; +} +- (void)setPlayGameList:(NSArray *)playGameList{ + _playGameList = playGameList; + [_collectionView reloadData]; +} +#pragma mark - UICollectionViewDelegate, UICollectionViewDataSource +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { + + return self.playGameList.count; +} + +- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { + XPHomeGameCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPHomeGameCell class]) forIndexPath:indexPath]; + LittleGameInfoModel *model = self.playGameList[indexPath.row]; + cell.imageUrl = model.pic; + if(self.path != nil){ + cell.isChoose = self.path.row == indexPath.row; + } + + return cell; +} + +- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { + self.confirmBtn.enabled = YES; + self.path = indexPath; + [self.collectionView reloadData]; + +} +-(void)confirmAction{ + [self removeFromSuperview]; + LittleGameInfoModel *model = self.playGameList[self.path.row]; + if(self.delegate && [self.delegate respondsToSelector:@selector(xpHomeGameViewChooseGameWithGameModel:)]){ + [self.delegate xpHomeGameViewChooseGameWithGameModel:model]; + } +} +-(void)backAction{ + [self removeFromSuperview]; +} +#pragma mark -懒加载 +- (UIView *)bgView{ + if (!_bgView){ + _bgView = [UIView new]; + _bgView.backgroundColor = [UIColor whiteColor]; + [_bgView setCornerWithLeftTopCorner:kGetScaleWidth(25) rightTopCorner:kGetScaleWidth(25) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, kGetScaleWidth(362))]; + } + return _bgView; +} +- (UILabel *)titleView{ + if (!_titleView){ + _titleView = [UILabel labelInitWithText:YMLocalizedString(@"XPHomeGameView0") font:kFontMedium(kGetScaleWidth(16)) textColor:[DJDKMIMOMColor inputTextColor]]; + } + return _titleView; +} + +-(UIButton *)backView{ + if (!_backView){ + _backView = [UIButton buttonInitWithText:nil font:nil textColor:nil image:kImage(@"home_game_back") bgImage:nil]; + [_backView addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; + } + return _backView; +} + + +- (UICollectionView *)collectionView{ + if (!_collectionView) { + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.itemSize = CGSizeMake(kGetScaleWidth(98), kGetScaleWidth(118)); + layout.sectionInset = UIEdgeInsetsMake(0, kGetScaleWidth(15), 0, kGetScaleWidth(15)); + layout.minimumLineSpacing = kGetScaleWidth(15); + + layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; + + _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + _collectionView.showsHorizontalScrollIndicator = NO; + _collectionView.dataSource = self; + _collectionView.delegate = self; + _collectionView.backgroundColor = [UIColor clearColor]; + [_collectionView registerClass:[XPHomeGameCell class] forCellWithReuseIdentifier:NSStringFromClass([XPHomeGameCell class])]; + } + return _collectionView; +} +- (UIButton *)confirmBtn{ + if (!_confirmBtn){ + UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(KScreenWidth - kGetScaleWidth(30), kGetScaleWidth(46))]; + _confirmBtn = [UIButton buttonInitWithText:YMLocalizedString(@"XPHomeGameView1") font:kFontRegular(16) textColor:[UIColor whiteColor] image:nil bgImage:image]; + _confirmBtn.layer.cornerRadius = kGetScaleWidth(23); + _confirmBtn.layer.masksToBounds = YES; + [_confirmBtn addTarget:self action:@selector(confirmAction) forControlEvents:UIControlEventTouchUpInside]; + _confirmBtn.enabled = NO; + } + return _confirmBtn; +} +@end diff --git a/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m b/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m index c293e332..c40fb854 100644 --- a/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m +++ b/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m @@ -43,8 +43,9 @@ ///P #import "XPNewHomeRecommendPresenter.h" #import "XPNewHomeRecommendProtocol.h" +#import "XPHomeGameView.h" UIKIT_EXTERN NSString * const kShieldingNotification; -@interface XPHomeRecommendViewController () +@interface XPHomeRecommendViewController () ///列表 @property (nonatomic,strong) UITableView *tableView; @@ -63,6 +64,8 @@ UIKIT_EXTERN NSString * const kShieldingNotification; @property(nonatomic,strong)XPNewHomePartyTableViewCell *cell; ///正在播放声音的cell在UITableView的Y坐标 @property(nonatomic,assign) CGFloat cellY; +///游戏列表 +@property (nonatomic, strong) NSMutableArray *littleGameArray; @end @implementation XPHomeRecommendViewController @@ -138,7 +141,12 @@ UIKIT_EXTERN NSString * const kShieldingNotification; [self.presenter getFriendListWithGroup:group]; }); - + dispatch_group_enter(group); + dispatch_group_async(group, queue, ^{ + + [self.presenter getLittleGameListWithGroup:group]; + + }); dispatch_group_notify(group,dispatch_get_main_queue(), ^{ self.isRequestData = NO; @@ -176,14 +184,14 @@ UIKIT_EXTERN NSString * const kShieldingNotification; return 2; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if(section == 0)return self.playTeamList.count > 0 ? 1 : 0; + if(section == 0) return 1; return self.personalRoomList.count > 0 ? self.personalRoomList.count : 1; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section == 0) { - return kGetScaleWidth(102); + return self.playTeamList.count > 0 ? kGetScaleWidth(102) : kGetScaleWidth(75); } return self.personalRoomList.count > 0 ? kGetScaleWidth(104) : 300; @@ -191,30 +199,32 @@ UIKIT_EXTERN NSString * const kShieldingNotification; - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if(indexPath.section == 0) { - XPNewHomePlayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])]; - if (cell == nil) { - cell = [[XPNewHomePlayTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])]; + if(self.playTeamList.count > 0){ + XPNewHomePlayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])]; + if (cell == nil) { + cell = [[XPNewHomePlayTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])]; + } + + + cell.playRoomList = self.playTeamList; + + cell.delegate = self; + return cell; } - - - cell.playRoomList = self.playTeamList; - - cell.delegate = self; - return cell; - - } - - if(self.personalRoomList.count == 0){ XPNewHomePlayEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayEmptyTableViewCell class])]; if (cell == nil) { cell = [[XPNewHomePlayEmptyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePlayEmptyTableViewCell class])]; } - [cell setConstraints]; - [cell setTitle:YMLocalizedString(@"XPGuildEmptyCollectionViewCell0")]; + + cell.isClan = YES; + cell.delegate = self; return cell; + } + + XPNewHomePartyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])]; if (cell == nil) { cell = [[XPNewHomePartyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])]; @@ -283,19 +293,79 @@ UIKIT_EXTERN NSString * const kShieldingNotification; } } - (void)chooseGameAction{ - // XPHomeGameView *gameView = [XPHomeGameView new]; - // gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); - // gameView.playGameList = self.littleGameArray; - // gameView.delegate = self; - // [kWindow addSubview:gameView]; +// XPHomeGameView *gameView = [XPHomeGameView new]; +// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); +// gameView.playGameList = self.littleGameArray; +// gameView.delegate = self; +// [kWindow addSubview:gameView]; } #pragma mark - XPNewHomePlayEmptyTableViewCellDelegate - (void)emptyCellChooseGameAction{ - // XPHomeGameView *gameView = [XPHomeGameView new]; - // gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); - // gameView.playGameList = self.littleGameArray; - // gameView.delegate = self; - // [kWindow addSubview:gameView]; +// XPHomeGameView *gameView = [XPHomeGameView new]; +// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); +// gameView.playGameList = self.littleGameArray; +// gameView.delegate = self; +// [kWindow addSubview:gameView]; +} +#pragma mark - XPHomeGameViewDelegate +- (void)xpHomeGameViewChooseGameWithGameModel:(LittleGameInfoModel *)gameModel{ + + NSString * uid = [AccountInfoStorage instance].getUid; + [self showLoading]; + [Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + if (code == 200) { + RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data]; + if(roomInfo.isReselect){ + [XPRoomViewController openRoom:[AccountInfoStorage instance].getUid mgId:gameModel.mgId viewController:self]; + }else{ + [self updateRoomInformation:gameModel roomInfo:roomInfo]; + } + } else { + [self hideHUD]; + [self showErrorToast:msg]; + } + } uid:uid intoUid:uid]; + + + + +} +///更新为游戏房 +-(void)updateRoomInformation:(LittleGameInfoModel *)gameModel roomInfo:(RoomInfoModel *)roomInfo{ + NSString * uid = [AccountInfoStorage instance].getUid; + NSMutableDictionary * params = [NSMutableDictionary dictionary]; + NSString * ticket = [AccountInfoStorage instance].getTicket; + [params setObject:ticket forKey:@"ticket"]; + [params setObject:uid forKey:@"uid"]; + [params setObject:[NSString stringWithFormat:@"%ld", roomInfo.uid] forKey:@"roomUid"]; + if (roomInfo.title.length > 0) { + [params setObject:roomInfo.title forKey:@"title"]; + } + + if (roomInfo.roomPwd.length > 0) { + [params setObject:roomInfo.roomPwd forKey:@"roomPwd"]; + } else{ + [params setObject:@"" forKey:@"roomPwd"]; + } + + if (roomInfo.tagId > 0) { + [params setObject:[NSString stringWithFormat:@"%ld", roomInfo.tagId] forKey:@"tagId"]; + } + + [params setObject:@(RoomType_MiniGame) forKey:@"type"]; + [params setObject:gameModel.mgId forKey:@"mgId"]; + + [params setObject:@(roomInfo.hasAnimationEffect) forKey:@"hasAnimationEffect"]; + @weakify(self) + [Api ownerUpdateRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + @strongify(self); + [self hideHUD]; + if (code == 200) { + [XPRoomViewController openRoom:[AccountInfoStorage instance].getUid mgId:gameModel.mgId viewController:self]; + } else { + [self showErrorToast:msg]; + } + } params:params]; } #pragma mark - XPHomeBannerTableViewCell - (void)xPHomeBannerTableViewCell:(XPHomeBannerTableViewCell *)view didClickBanner:(HomeBannerInfoModel *)info { @@ -351,6 +421,11 @@ UIKIT_EXTERN NSString * const kShieldingNotification; self.personalRoomList = [NSMutableArray arrayWithArray:list]; dispatch_group_leave(group); } +- (void)onGetLittleGameListSuccess:(NSArray *)items withGroup:(nonnull dispatch_group_t)group{ + + self.littleGameArray = [[NSMutableArray alloc]initWithArray:items]; + dispatch_group_leave(group); +} - (void)getFriendListFailWithGroup:(dispatch_group_t)group{ dispatch_group_leave(group); } diff --git a/YuMi/Modules/YMNewHome/View/XPNewHomeViewController.m b/YuMi/Modules/YMNewHome/View/XPNewHomeViewController.m index 7f8daf2d..93ef8d04 100644 --- a/YuMi/Modules/YMNewHome/View/XPNewHomeViewController.m +++ b/YuMi/Modules/YMNewHome/View/XPNewHomeViewController.m @@ -274,8 +274,8 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification; #pragma mark - JXCategoryViewDelegate - (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView { - if(self.headView.bannerList.count == 0)return kGetScaleWidth(103); - return kGetScaleWidth(188); + if(self.headView.bannerList.count == 0)return kGetScaleWidth(80); + return kGetScaleWidth(170); } - (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView { diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m index dbdc7917..b2c57042 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m @@ -63,7 +63,7 @@ #import "PIFullScreenBannerAnimation.h" #import "XPTreasureFairyGiftView.h" #import "XPRoomTarrowBannerView.h" -@interface XPRoomAnimationView () +@interface XPRoomAnimationView () ///展示的不同层级 ///最底层的 @property (nonatomic,strong) XPRoomAnimationHitView * lowLevelView; @@ -118,6 +118,8 @@ @property (nonatomic,strong) SVGAImageView *carEffectView; ///座驾VAP特效 @property (nonatomic, strong) VAPView *carVapEffectView; +///座驾pag动效 +@property(nonatomic,strong) PAGView *carPagView; #pragma mark - 进房动画的 @property (nonatomic, strong) NSMutableArray *enterEffectQueue; @property (nonatomic,strong) SVGAImageView *enterEffectView; @@ -157,15 +159,7 @@ - (void)dealloc { [NSObject cancelPreviousPerformRequestsWithTarget:self]; [[NIMSDK sharedSDK].broadcastManager removeDelegate:self]; - if(self.giftEffectTimer != nil){ - dispatch_resume(self.giftEffectTimer); - self.giftEffectTimer = nil; - } - if(self.giftTimer != nil){ - dispatch_resume(self.giftTimer); - self.giftTimer = nil; - } } -(void)resumeTimer{ if(self.giftEffectTimer != nil){ @@ -177,6 +171,7 @@ dispatch_resume(self.giftTimer); self.giftTimer = nil; } + [self.giftPagView removeListener:self]; } - (instancetype)initWithDelegate:(id)delegate { self = [super init]; @@ -457,7 +452,7 @@ [self.animationListB addObject:giftNotifyInfo]; } - (void)createCommonH5BannerAnimation:(PIBaseAnimationViewModel *)attatchment { - + CGFloat kscale = (CGFloat)55 / (CGFloat)375; self.isPlayOfB = YES; CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15); @@ -489,12 +484,12 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } -// if(self. isAnimationListAFinish == YES){ -// -// [self playAnimationWithModel]; -// self.isAnimationListAFinish = NO; -// return; -// } + // if(self. isAnimationListAFinish == YES){ + // + // [self playAnimationWithModel]; + // self.isAnimationListAFinish = NO; + // return; + // } [self playAnimationWithModel]; } }]; @@ -503,7 +498,7 @@ }]; [tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"]; - + } #pragma mark - 收到塔罗飘屏 -(void)receiveTarotBanner:(AttachmentModel *)attachment{ @@ -518,7 +513,7 @@ } - (void)createTarotBannerAnimation:(PIBaseAnimationViewModel *)attatchment { - + CGFloat kscale = (CGFloat)55 / (CGFloat)375; self.isPlayOfB = YES; CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15); @@ -550,12 +545,12 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } -// if(self. isAnimationListAFinish == YES){ -// -// [self playAnimationWithModel]; -// self.isAnimationListAFinish = NO; -// return; -// } + // if(self. isAnimationListAFinish == YES){ + // + // [self playAnimationWithModel]; + // self.isAnimationListAFinish = NO; + // return; + // } [self playAnimationWithModel]; } }]; @@ -564,7 +559,7 @@ }]; [tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"]; - + } #pragma mark - 夺宝精灵横幅 - (void)receiveTreasureFairyGiftHighLevel:(AttachmentModel *)attatchment { @@ -578,7 +573,7 @@ [self createTreasureFairyBannerAnimation:giftModel]; } [self.animationListB addObject:giftModel]; - + } - (void)createTreasureFairyBannerAnimation:(PIBaseAnimationViewModel *)attatchment { self.isPlayOfB = YES; @@ -621,12 +616,12 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } -// if(self. isAnimationListAFinish == YES){ -// -// [self playAnimationWithModel]; -// self.isAnimationListAFinish = NO; -// return; -// } + // if(self. isAnimationListAFinish == YES){ + // + // [self playAnimationWithModel]; + // self.isAnimationListAFinish = NO; + // return; + // } [self playAnimationWithModel]; } }]; @@ -912,6 +907,26 @@ [self.vapParser parseWithURL:viewUrl completionBlock:^(NSString * _Nullable videoUrl) { if (videoUrl.length) { + + if([videoUrl containsString:@".pag"]){ + self.carPagView.hidden = NO; + if(self.carPagView.superview == nil){ + [self.middleLevelView addSubview:self.carPagView]; + [self.carPagView mas_makeConstraints:^(MASConstraintMaker *make) { + make.center.mas_equalTo(self.middleLevelView); + make.width.mas_equalTo(KScreenWidth); + make.height.mas_equalTo(KScreenHeight); + }]; + [self.carPagView setPath:videoUrl]; + self.carPagView.userInteractionEnabled = NO; + self.carPagView.repeatCount = 1; + self.carPagView.scaleMode = PAGScaleModeStretch; + [self.carPagView play]; + } + return; + } + + self.carVapEffectView.hidden = NO; if (self.carVapEffectView.superview == nil) { [self.middleLevelView addSubview:self.carVapEffectView]; @@ -1009,12 +1024,12 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } -// if(self. isAnimationListAFinish == YES){ -// -// [self playAnimationWithModel]; -// self.isAnimationListAFinish = NO; -// return; -// } + // if(self. isAnimationListAFinish == YES){ + // + // [self playAnimationWithModel]; + // self.isAnimationListAFinish = NO; + // return; + // } [self playAnimationWithModel]; } }]; @@ -1113,12 +1128,12 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } -// if(self.isAnimationListAFinish == YES){ -// -// [self playAnimationWithModel]; -// self.isAnimationListAFinish = NO; -// return; -// } + // if(self.isAnimationListAFinish == YES){ + // + // [self playAnimationWithModel]; + // self.isAnimationListAFinish = NO; + // return; + // } [self playAnimationWithModel]; } }]; @@ -1213,11 +1228,11 @@ if(self.animationListB.count > 0){ [self.animationListB removeObjectAtIndex:0]; } -// if(self.isAnimationListAFinish == YES){ -// self.isAnimationListAFinish = NO; -// [self playAnimationWithModel]; -// return; -// } + // if(self.isAnimationListAFinish == YES){ + // self.isAnimationListAFinish = NO; + // [self playAnimationWithModel]; + // return; + // } [self playAnimationWithModel]; }]; [anchorRankView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"]; @@ -1272,11 +1287,11 @@ if(self.animationListB.count > 0){ [self.animationListB removeObjectAtIndex:0]; } -// if(self.isAnimationListAFinish == YES){ -// self.isAnimationListAFinish = NO; -// [self playAnimationWithModel]; -// return; -// } + // if(self.isAnimationListAFinish == YES){ + // self.isAnimationListAFinish = NO; + // [self playAnimationWithModel]; + // return; + // } [self playAnimationWithModel]; }]; [anchorRankView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"]; @@ -1505,8 +1520,8 @@ GiftReceiveInfoModel *giftNotifyInfo = [GiftReceiveInfoModel modelWithJSON:attachment.data]; ///年度飘屏是广播 在tabbar中监听 if (giftNotifyInfo.ceremonyGift)return; -// if(giftNotifyInfo.isHomeShow == YES)return; ///房间外飘屏 在tabbar中监听 -// if(giftNotifyInfo.roomUid == self.delegate.getRoomInfo.uid)return; ///自己的房间跨房间飘屏不用走 + // if(giftNotifyInfo.isHomeShow == YES)return; ///房间外飘屏 在tabbar中监听 + // if(giftNotifyInfo.roomUid == self.delegate.getRoomInfo.uid)return; ///自己的房间跨房间飘屏不用走 if (self.animationListA.count == 0 && self.isPlayOfB == NO && self.isPlayOfA == NO) { [self createGiftBroadcastViewAnimation:giftNotifyInfo]; } @@ -1589,16 +1604,16 @@ #pragma mark - 福袋中 四级奖品 - (void)receiveLuckyGiftBigPrize:(AttachmentModel *)attachment { if ([self isInSudGame]) {return;} - - PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; - prizeModel.type = GiftBannerType_Lucky; - prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; - - if(self.animationListB.count == 0 && self.isPlayOfB == NO){ - [self createBigPrizeAnimation:prizeModel]; - } - [self.animationListB addObject:prizeModel]; - + + PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; + prizeModel.type = GiftBannerType_Lucky; + prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; + + if(self.animationListB.count == 0 && self.isPlayOfB == NO){ + [self createBigPrizeAnimation:prizeModel]; + } + [self.animationListB addObject:prizeModel]; + } @@ -1624,17 +1639,17 @@ springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(KScreenWidth / 2, luckyGiftEffectView.center.y)]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 6 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ [luckyGiftEffectView removeFromSuperview]; - - if (self.animationListB.count > 0) { - [self.animationListB removeObjectAtIndex:0]; - } - self.isPlayOfB = NO; -// if(self.isAnimationListAFinish == YES){ -// self.isAnimationListAFinish = NO; -// [self playAnimationWithModel]; -// return; -// } - [self playAnimationWithModel]; + + if (self.animationListB.count > 0) { + [self.animationListB removeObjectAtIndex:0]; + } + self.isPlayOfB = NO; + // if(self.isAnimationListAFinish == YES){ + // self.isAnimationListAFinish = NO; + // [self playAnimationWithModel]; + // return; + // } + [self playAnimationWithModel]; }); [luckyGiftEffectView pop_addAnimation:springAnimation forKey:@"nobleLevelUpspingOutAnimation"]; } @@ -1662,13 +1677,13 @@ } -(void)playAnimationWithModel{ -// if(self.isAnimationListAFinish == YES)return; + // if(self.isAnimationListAFinish == YES)return; if(self.animationListB.count <= 0){ if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self createGiftBannerViewAnimation:self.animationListA.firstObject]; }); - + } return; } @@ -1718,7 +1733,7 @@ //如果是福袋礼物的话 就不用看他的价值了 只要有SVGA的话 就播放 if (receiveInfo.displayGift.count > 0) { [receiveInfo.displayGift enumerateObjectsUsingBlock:^(GiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if (obj.otherViewType == GiftOtherViewTypeMp4 && obj.viewUrl && obj.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { + if ((obj.otherViewType == GiftOtherViewTypeMp4 || obj.otherViewType == GiftOtherViewTypePag) && obj.viewUrl && obj.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init]; model.viewUrl = obj.viewUrl; model.avatar = receiveInfo.sendUserAvatar; @@ -1730,8 +1745,8 @@ model.targetAvatar = receiveInfo.targetAvatar; model.targetNick = receiveInfo.targetNick; [self.svgaQueue addObject:model]; - -// [self.animationListA addObject:model]; + + // [self.animationListA addObject:model]; } else if (obj.hasVggPic && roomInfor.hasAnimationEffect) { GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init]; model.viewUrl = obj.viewUrl; @@ -1744,8 +1759,8 @@ model.targetAvatar = receiveInfo.targetAvatar; model.targetNick = receiveInfo.targetNick; [self.svgaQueue addObject:model]; - -// [self.animationListA addObject:model]; + + // [self.animationListA addObject:model]; } }]; } @@ -1761,7 +1776,7 @@ } if (receiveInfo.targetUsers.count > 0 && receiveInfo.targetUids.count <= 0) { receiveInfo.targetUids = [receiveInfo.targetUsers valueForKeyPath:@"uid"]; - } + } NSInteger giftTotal = 0; if (receiveInfo.targetUids.count > 0) { @@ -1770,25 +1785,25 @@ giftTotal = receiveInfo.giftNum * giftInfo.goldPrice; } - if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { + if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { receiveInfo.viewUrl = giftInfo.viewUrl; -// [self.animationListA addObject:receiveInfo]; + // [self.animationListA addObject:receiveInfo]; [self.svgaQueue addObject:receiveInfo]; } else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfor.hasAnimationEffect) {///SVGA动画 receiveInfo.vggUrl = giftInfo.vggUrl; -// [self.animationListA addObject:receiveInfo]; + // [self.animationListA addObject:receiveInfo]; [self.svgaQueue addObject:receiveInfo]; } } -// if (self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO) { -// [self createGiftBannerViewAnimation:self.animationListA.firstObject]; -// } + // if (self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO) { + // [self createGiftBannerViewAnimation:self.animationListA.firstObject]; + // } -// if(self.svgaQueue.count > 0 && self.isLargeGiftAnimating == NO){ -// [self createGiftSvgaAnimation:self.svgaQueue.firstObject]; -// -// } + // if(self.svgaQueue.count > 0 && self.isLargeGiftAnimating == NO){ + // [self createGiftSvgaAnimation:self.svgaQueue.firstObject]; + // + // } if (self.giftEffectTimer == nil && self.svgaQueue.count > 0) { [self startHandleGiftEffectTimer]; } @@ -1820,89 +1835,97 @@ self.giftEffectTimer = _timer; } -(void)createGiftSvgaAnimation:(GiftReceiveInfoModel *)receiveInfo{ - + GiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; if (!giftInfo) { giftInfo = [[XPGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId]; } - if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { - [self largeGiftStopCarEffect:giftInfo.goldPrice]; - [self playGiftEffectWithVapUrl:giftInfo.viewUrl]; + if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { + if(giftInfo.otherViewType == GiftOtherViewTypePag){ + [self largeGiftStopCarEffect:giftInfo.goldPrice]; + [self playGiftEffectWithPagUrl:giftInfo.viewUrl]; + }else{ + [self largeGiftStopCarEffect:giftInfo.goldPrice]; + [self playGiftEffectWithVapUrl:giftInfo.viewUrl]; + } } if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { + [self largeGiftStopCarEffect:giftInfo.goldPrice]; [self playGiftEffect:giftInfo.vggUrl]; + + } - + } - (void)createGiftBannerViewAnimation:(GiftReceiveInfoModel *)receiveInfo { [self createGiftBroadcastViewAnimation:receiveInfo]; -// GiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; -// if (!giftInfo) { -// giftInfo = [[XPGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId]; -// } -// NSInteger giftTotal = 0; -// if (receiveInfo.targetUids.count > 0) { -// giftTotal = receiveInfo.giftNum * giftInfo.goldPrice * receiveInfo.targetUids.count; -// } else { -// giftTotal = receiveInfo.giftNum * giftInfo.goldPrice; -// } -// if (giftTotal >= 520) { -// self.isPlayOfA = YES; -// __block XPRoomGiftBannerView *view = [self.bannerDequePool anyObject]; -// if (view == nil) { -// view = [[XPRoomGiftBannerView alloc] init]; -// [self.bannerVisiablePool addObject:view]; -// }else{ -// [self.bannerDequePool removeObject:view]; -// } -// [self removeGiftBannerView:view]; -// [view configGiftBanner:receiveInfo users:[self makeBannerUsers]]; -// view.frame = CGRectMake(KScreenWidth, 80, KScreenWidth, 153); -// [self.highLevleView addSubview:view]; -// POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter]; -// springAnimation.springSpeed = 12; -// springAnimation.springBounciness = 10.f; -// springAnimation.fromValue = [NSValue valueWithCGPoint:view.center]; -// springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(view.frame.size.width / 2, view.center.y)]; -// @kWeakify(self); -// [springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) { -// @kStrongify(self); -// if (finished) { -// [self removeAnimation:view]; -// } -// }]; -// -// [springAnimation setAnimationDidStartBlock:^(POPAnimation *anim) { -// @kStrongify(self); -// -//// if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { -//// [self largeGiftStopCarEffect:giftInfo.goldPrice]; -//// [self playGiftEffectWithVapUrl:giftInfo.viewUrl]; -//// } -//// if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { -//// [self largeGiftStopCarEffect:giftInfo.goldPrice]; -//// [self playGiftEffect:giftInfo.vggUrl]; -//// } -// }]; -// -// [view pop_addAnimation:springAnimation forKey:@"spingOutAnimation"]; -// } else { -// -//// if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && receiveInfo.viewUrl.length > 0) {//播放vap动效 -//// [self largeGiftStopCarEffect:giftInfo.goldPrice]; -//// [self playGiftEffectWithVapUrl:receiveInfo.viewUrl]; -//// } -//// if (receiveInfo.vggUrl.length > 0) {///如果有特效的话就播放特效 -//// -//// [self largeGiftStopCarEffect:giftInfo.goldPrice]; -//// [self playGiftEffect:receiveInfo.vggUrl]; -//// } -// [self.animationListA removeObjectAtIndex:0]; -// } + // GiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; + // if (!giftInfo) { + // giftInfo = [[XPGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId]; + // } + // NSInteger giftTotal = 0; + // if (receiveInfo.targetUids.count > 0) { + // giftTotal = receiveInfo.giftNum * giftInfo.goldPrice * receiveInfo.targetUids.count; + // } else { + // giftTotal = receiveInfo.giftNum * giftInfo.goldPrice; + // } + // if (giftTotal >= 520) { + // self.isPlayOfA = YES; + // __block XPRoomGiftBannerView *view = [self.bannerDequePool anyObject]; + // if (view == nil) { + // view = [[XPRoomGiftBannerView alloc] init]; + // [self.bannerVisiablePool addObject:view]; + // }else{ + // [self.bannerDequePool removeObject:view]; + // } + // [self removeGiftBannerView:view]; + // [view configGiftBanner:receiveInfo users:[self makeBannerUsers]]; + // view.frame = CGRectMake(KScreenWidth, 80, KScreenWidth, 153); + // [self.highLevleView addSubview:view]; + // POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter]; + // springAnimation.springSpeed = 12; + // springAnimation.springBounciness = 10.f; + // springAnimation.fromValue = [NSValue valueWithCGPoint:view.center]; + // springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(view.frame.size.width / 2, view.center.y)]; + // @kWeakify(self); + // [springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) { + // @kStrongify(self); + // if (finished) { + // [self removeAnimation:view]; + // } + // }]; + // + // [springAnimation setAnimationDidStartBlock:^(POPAnimation *anim) { + // @kStrongify(self); + // + //// if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && giftInfo.viewUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { + //// [self largeGiftStopCarEffect:giftInfo.goldPrice]; + //// [self playGiftEffectWithVapUrl:giftInfo.viewUrl]; + //// } + //// if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && [self.delegate getRoomInfo].hasAnimationEffect) { + //// [self largeGiftStopCarEffect:giftInfo.goldPrice]; + //// [self playGiftEffect:giftInfo.vggUrl]; + //// } + // }]; + // + // [view pop_addAnimation:springAnimation forKey:@"spingOutAnimation"]; + // } else { + // + //// if (giftInfo.otherViewType == GiftOtherViewTypeMp4 && receiveInfo.viewUrl.length > 0) {//播放vap动效 + //// [self largeGiftStopCarEffect:giftInfo.goldPrice]; + //// [self playGiftEffectWithVapUrl:receiveInfo.viewUrl]; + //// } + //// if (receiveInfo.vggUrl.length > 0) {///如果有特效的话就播放特效 + //// + //// [self largeGiftStopCarEffect:giftInfo.goldPrice]; + //// [self playGiftEffect:receiveInfo.vggUrl]; + //// } + // [self.animationListA removeObjectAtIndex:0]; + // } } - (void)largeGiftStopCarEffect:(double)goldPrice { @@ -1910,6 +1933,7 @@ self.isLargeGiftAnimating = YES; [self.carEffectView stopAnimation]; [self.carVapEffectView stopHWDMP4]; + [self.carPagView stop]; [self.carEffectQueue removeAllObjects]; } } @@ -1932,14 +1956,14 @@ } - if(self.animationListB.count > 0){ -// self.isAnimationListAFinish = YES; - [self playAnimationWithModel]; - return; - } - if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){ - [self createGiftBannerViewAnimation:self.animationListA.firstObject]; - } + if(self.animationListB.count > 0){ + // self.isAnimationListAFinish = YES; + [self playAnimationWithModel]; + return; + } + if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){ + [self createGiftBannerViewAnimation:self.animationListA.firstObject]; + } } @@ -1970,7 +1994,7 @@ NSData *data=[NSData dataWithContentsOfFile:filePath options:0 error:NULL]; [self.parser parseWithData:data cacheKey:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { if (videoItem != nil) { - + self.giftEffectView.hidden = NO; if (self.giftEffectView.superview == nil) { [self.middleLevelView addSubview:self.giftEffectView]; @@ -1998,16 +2022,16 @@ self.giftEffectView.videoItem = videoItem; [self.giftEffectView startAnimation]; } - } failureBlock:^(NSError * _Nonnull error) { - self.giftEffectView.hidden = YES; - }]; + } failureBlock:^(NSError * _Nonnull error) { + self.giftEffectView.hidden = YES; + }]; return; - + }; [self.parser parseWithURL:[NSURL URLWithString:vggUrl] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { if (videoItem != nil) { - + self.giftEffectView.hidden = NO; if (self.giftEffectView.superview == nil) { [self.middleLevelView addSubview:self.giftEffectView]; @@ -2039,7 +2063,29 @@ self.giftEffectView.hidden = YES; }]; } - +///播放礼物特效 pag的 +- (void)playGiftEffectWithPagUrl:(NSString *)pagUrl { + if ([self isInSudGame]) {return;} + [self.vapParser parseWithURL:pagUrl completionBlock:^(NSString * _Nullable videoUrl) { + self.giftPagView.hidden = NO; + if(self.giftPagView.superview == nil){ + [self.middleLevelView addSubview:self.giftPagView]; + [self.giftPagView mas_makeConstraints:^(MASConstraintMaker *make) { + make.center.mas_equalTo(self.middleLevelView); + make.width.mas_equalTo(KScreenWidth); + make.height.mas_equalTo(KScreenHeight); + }]; + [self.giftPagView setPath:videoUrl]; + self.giftPagView.userInteractionEnabled = NO; + self.giftPagView.repeatCount = 1; + self.giftPagView.scaleMode = PAGScaleModeStretch; + [self.giftPagView play]; + } + + } failureBlock:^(NSError * _Nullable error) { + self.giftPagView.hidden = YES; + }]; +} ///播放礼物特效 vap的 - (void)playGiftEffectWithVapUrl:(NSString *)vapUrl { @@ -2352,7 +2398,71 @@ } }); } +#pragma mark - PAGViewListener +/** + * Notifies the beginning of the animation. It can be called from either the UI thread or the thread + * that calls the play method. + */ +- (void)onAnimationStart:(PAGView*)pagView{ + +} +/** + * Notifies the end of the animation. It can only be called from the UI thread. + */ +- (void)onAnimationEnd:(PAGView*)pagView{ + dispatch_async(dispatch_get_main_queue(), ^{ + pagView.hidden = YES; + if (pagView == self.giftPagView) { + [self.giftPagView removeFromSuperview]; + self.giftPagView = nil; + if (self.isLargeGiftAnimating == YES) { + self.isLargeGiftAnimating = NO; + } + }else if(pagView == self.carPagView){ + [self.carPagView removeFromSuperview]; + self.carPagView = nil; + if (self.carEffectQueue.count > 0) { + [self.carEffectQueue removeObjectAtIndex:0]; + } + if (self.carEffectQueue.count > 0) { + [self playCarEffect:self.carEffectQueue.firstObject]; + } + } + }); +} + +/** + * Notifies the cancellation of the animation. It can be called from either the UI thread or the + * thread that calls the stop method. + */ +- (void)onAnimationCancel:(PAGView*)pagView{ + dispatch_async(dispatch_get_main_queue(), ^{ + pagView.hidden = YES; + if (pagView == self.giftPagView) { + [self.giftPagView removeFromSuperview]; + self.giftPagView = nil; + if (self.isLargeGiftAnimating == YES) { + self.isLargeGiftAnimating = NO; + } + } + }); +} + +/** + * Notifies the repetition of the animation. It can only be called from the UI thread. + */ +- (void)onAnimationRepeat:(PAGView*)pagView{ + +} + +/** + * Notifies another frame of the animation has occurred. It may be called from an arbitrary + * thread if the animation is running asynchronously. + */ +- (void)onAnimationUpdate:(PAGView*)pagView{ + +} #pragma mark - Getters And Setters - (SVGAImageView *)giftEffectView { if (!_giftEffectView) { @@ -2609,8 +2719,17 @@ - (PAGView *)giftPagView{ if(!_giftPagView){ _giftPagView = [[PAGView alloc]init]; - + [_giftPagView addListener:self]; + _giftPagView.backgroundColor = [UIColor clearColor]; } return _giftPagView; } +- (PAGView *)carPagView{ + if(!_carPagView){ + _carPagView = [[PAGView alloc]init]; + [_carPagView addListener:self]; + _carPagView.backgroundColor = [UIColor clearColor]; + } + return _carPagView; +} @end diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftAnimationParser.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftAnimationParser.m index 45a8caec..d3074af6 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftAnimationParser.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftAnimationParser.m @@ -14,12 +14,7 @@ @implementation XPRoomGiftAnimationParser -static NSOperationQueue *parseQueue; -+ (void)load { - parseQueue = [NSOperationQueue new]; - parseQueue.maxConcurrentOperationCount = 8; -} - (void)parseWithURL:(nonnull NSString *)URL completionBlock:(void ( ^ _Nonnull )(NSString * _Nullable videoUrl))completionBlock diff --git a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m index e83531a4..a5dc3b90 100644 --- a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m +++ b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m @@ -39,13 +39,13 @@ [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self); }]; - [self.addBtn mas_makeConstraints:^(MASConstraintMaker *make) { + [self.subtractBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(kGetScaleWidth(40)); make.height.mas_equalTo(kGetScaleWidth(21)); make.centerY.equalTo(self.bgView); make.leading.mas_equalTo(kGetScaleWidth(5)); }]; - [self.subtractBtn mas_makeConstraints:^(MASConstraintMaker *make) { + [self.addBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(kGetScaleWidth(40)); make.height.mas_equalTo(kGetScaleWidth(21)); make.centerY.equalTo(self.bgView); @@ -53,8 +53,8 @@ }]; [self.textFiled mas_makeConstraints:^(MASConstraintMaker *make) { - make.trailing.equalTo(self.subtractBtn.mas_leading).mas_offset(-kGetScaleWidth(0)); - make.leading.equalTo(self.addBtn.mas_trailing).mas_offset(kGetScaleWidth(0)); + make.trailing.equalTo(self.addBtn.mas_leading).mas_offset(-kGetScaleWidth(0)); + make.leading.equalTo(self.subtractBtn.mas_trailing).mas_offset(kGetScaleWidth(0)); make.bottom.top.equalTo(self); }]; diff --git a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m index b0897edb..1d197dbc 100644 --- a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m +++ b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m @@ -33,6 +33,7 @@ #import "XPIAPRechargeViewController.h" #import "XPCandyTreeBuyView.h" #import "XPCandyTreeConfirmBuyView.h" +#import "XPCandyTreeBuySuccessView.h" ///P #import "XPCandyTreePresenter.h" #import "XPCandyTreeProtocol.h" @@ -137,6 +138,9 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey; self.buyView.num = self.setModel.ticketNum; } - (void)buyLoveTicketSuccessWithNum:(NSString *)num{ + XPCandyTreeBuySuccessView *successView = [[XPCandyTreeBuySuccessView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; + successView.num = num; + [TTPopup popupView:successView style:TTPopupStyleAlert]; [self.presenter getLoveSettingInfo]; } - (void)pickCandyFail { @@ -490,15 +494,14 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey; } #pragma mark -XPCandyTreeConfirmBuyViewDelegate -(void)buyLoveNumWithType:(int)type num:(NSString *)num{ + NSInteger price = num.integerValue * self.setModel.ticketPrice.integerValue; + if(price > self.setModel.diamond.integerValue){ + [self pickCandyPay]; + return; + } if(type == 0){ - NSInteger price = num.integerValue * self.setModel.ticketPrice.integerValue; - if(price > self.setModel.diamond.integerValue){ - [self pickCandyPay]; - return; - } [self.presenter buyLoveTicket:num]; return; - } [self.presenter buyLoveTicket:num]; } diff --git a/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.h b/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.h index a4b28b47..67348634 100644 --- a/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.h +++ b/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.h @@ -11,8 +11,10 @@ NS_ASSUME_NONNULL_BEGIN @protocol XPFirstRechargeViewDelegate @optional +/// -(void)rechargeHandle; - +///联系客服 +-(void)contactCustomerService; @end diff --git a/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.m b/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.m index fc2b8074..9b50810a 100644 --- a/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.m +++ b/YuMi/Modules/YMRoom/View/FirstRecharge/View/XPFirstRechargeView.m @@ -6,6 +6,7 @@ // ///Third #import +#import ///Tool #import #import "YUMIMacroUitls.h" @@ -17,6 +18,7 @@ #import "AccountInfoStorage.h" #import "YYUtility.h" #import "Api+Mine.h" +#import "Api+Main.h" #import "RechargeStorage.h" ///Model @@ -29,12 +31,14 @@ #import "XPFirstRechargeProtocol.h" ///VC #import "XPMineRechargeViewController.h" + #import "XPWebViewController.h" #import "XPFirstRechargeView.h" #import "Api+FirstRecharge.h" #import "FirstRechargeModel.h" #import "XPSkillCardPlayerManager.h" #import "YuMi-swift.h" +#import "ClientConfig.h" @interface XPFirstRechargeView () /// @property (nonatomic,strong) UIButton *backBtn; @@ -68,6 +72,7 @@ @property (nonatomic,strong) XPFirstRechargeCollectionView *rechargeView; @property (nonatomic,strong) FirstRechargeModel *currentInfo; @property (nonatomic,copy) NSString *orderId; +@property(nonatomic,assign) BOOL pi_IsNative; @end @implementation XPFirstRechargeView @@ -100,6 +105,21 @@ [XNDJTDDLoadingTool showErrorWithMessage:msg]; } channelType:@"3"]; [self checkTranscationIds]; + if([ClientConfig shareConfig].canOpen){ + + [Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + + if(code == 200){ + if(data.data[@"isNative"] != nil){ + self.pi_IsNative = [data.data[@"isNative"] boolValue]; + + } + + } + + }]; + + } } #pragma mark - Private Method - (void)initSubViews { @@ -265,6 +285,7 @@ /// 获取充值的订单编号 /// @param chargeProdId 苹果服务器的充值 的id - (void)requestIAPRechargeOrderWithChargeProdId:(NSString *)chargeProdId { + NSString * uid = [AccountInfoStorage instance].getUid; NSString * ticket = [AccountInfoStorage instance].getTicket; NSString * deviceInfo = [YYUtility deviceID]; @@ -276,11 +297,19 @@ [self requestIAPRechargeOrderSuccess:orderId chargeProdId:chargeProdId uuid:uuid]; } else { [XNDJTDDLoadingTool hideHUD]; + if(code == 50000){ + if(self.delegate && [self.delegate respondsToSelector:@selector(contactCustomerService)]){ + [self.delegate contactCustomerService]; + } + [self backAction]; + return; + } [XNDJTDDLoadingTool showErrorWithMessage:msg]; } } chargeProdId:chargeProdId uid:uid ticket:ticket deviceInfo:deviceInfo clientIp:clientIp]; } + - (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid{ if (orderId.length > 0) { self.orderId = orderId; @@ -453,6 +482,15 @@ } - (void)rechargeButtonAction { + + if(self.pi_IsNative == NO){ + if(self.delegate && [self.delegate respondsToSelector:@selector(rechargeHandle)]){ + [self.delegate rechargeHandle]; + } + [self backAction]; + return; + } + if (self.currentInfo == nil|| self.currentInfo.chargeProdId == nil) { return; } diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/Model/GiftInfoModel.h b/YuMi/Modules/YMRoom/View/SendGiftView/Model/GiftInfoModel.h index 95614e46..77c06e9e 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/Model/GiftInfoModel.h +++ b/YuMi/Modules/YMRoom/View/SendGiftView/Model/GiftInfoModel.h @@ -29,10 +29,11 @@ typedef NS_ENUM(NSUInteger, GiftSourceType) { GiftSourceType_Pack = 2, // 背包礼物 }; -///礼物播放类型(0 无, 1 MP4、VAP播放) +///礼物播放类型(0 无, 1 MP4、VAP播放,2,pag动画播放) typedef NS_ENUM(NSUInteger, GiftOtherViewType) { GiftOtherViewTypeNormal = 0, GiftOtherViewTypeMp4 = 1, + GiftOtherViewTypePag = 2, }; /** diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/Cell/XPGiftItemCollectionViewCell.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/Cell/XPGiftItemCollectionViewCell.m index ec90e1c8..49e69a0d 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/Cell/XPGiftItemCollectionViewCell.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/Cell/XPGiftItemCollectionViewCell.m @@ -65,10 +65,10 @@ [self.contentView addSubview:self.priceStackView]; [self.contentView addSubview:self.coverView]; [self.contentView addSubview:self.giftNumLabel]; - [self.contentView addSubview:self.nobleIconImageView]; [self.contentView addSubview:self.lockImageView]; [self.contentView addSubview:self.tagStackView]; + [self.tagStackView addArrangedSubview:self.nobleIconImageView]; [self.tagStackView addArrangedSubview:self.exclusiveImageView]; [self.tagStackView addArrangedSubview:self.giftNewImageView]; [self.tagStackView addArrangedSubview:self.limitImageView]; @@ -129,8 +129,7 @@ [self.nobleIconImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.mas_equalTo(16); - make.right.mas_equalTo(self.tagStackView.mas_left).mas_offset(-2); - make.centerY.mas_equalTo(self.tagStackView); + }]; [self.lockImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.right.bottom.mas_equalTo(self.contentView).mas_offset(-4); diff --git a/YuMi/Modules/YMRoom/View/XPRoomViewController.m b/YuMi/Modules/YMRoom/View/XPRoomViewController.m index 664a5b4e..89144306 100644 --- a/YuMi/Modules/YMRoom/View/XPRoomViewController.m +++ b/YuMi/Modules/YMRoom/View/XPRoomViewController.m @@ -57,6 +57,7 @@ #import "XPReceiveRedPacketView.h" #import "XPFirstRechargeView.h" #import "XPWebViewController.h" +#import "SessionViewController.h" ///P #import "XPRoomPresenter.h" #import "XPRoomProtocol.h" @@ -1810,7 +1811,36 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 } - +-(void)contactCustomerService{ + TTAlertConfig *config = [[TTAlertConfig alloc]init]; + config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); + config.message = YMLocalizedString(@"XPIAPRechargeViewController8"); + TTAlertButtonConfig *confirmButtonConfig = [[TTAlertButtonConfig alloc]init]; + confirmButtonConfig.title = YMLocalizedString(@"XPIAPRechargeViewController9"); + UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x13E2F5),UIColorFromRGB(0x9DB4FF),UIColorFromRGB(0xCC67FF)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(200, 200)]; + confirmButtonConfig.backgroundColor = [UIColor colorWithPatternImage:image]; + confirmButtonConfig.cornerRadius = 38/2; + config.confirmButtonConfig = confirmButtonConfig; + [TTPopup alertWithConfig:config confirmHandler:^{ + [self requestContactCustomerService]; + } cancelHandler:^{ + }]; + +} +-(void)requestContactCustomerService{ + [XNDJTDDLoadingTool showLoading]; + [Api requestContactCustomerServiceCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + [XNDJTDDLoadingTool hideHUD]; + if(code == 200){ + NSString *uid = [NSString stringWithFormat:@"%@",data.data]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P]; + SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session]; + [self.getCurrentNav pushViewController:sessionVC animated:YES]; + }); + } + }]; +} - (XPRoomBackContainerView *)backContainerView { if (!_backContainerView) { _backContainerView = [[XPRoomBackContainerView alloc] initWithdelegate:self]; diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings index 6df792f5..df209836 100644 --- a/YuMi/zh-Hans.lproj/Localizable.strings +++ b/YuMi/zh-Hans.lproj/Localizable.strings @@ -3046,6 +3046,9 @@ "PIMessageContentServiceReplyView6"="3.如遇提示\"储值失败,请联系客服处理~\",请\n添加客服进行处理"; ///XPRoomTarrowBannerView "XPRoomTarrowBannerView0"="恭喜%@在幸运塔罗中运气爆发 获得%@钻石"; +///XPHomeGameView +"XPHomeGameView0"="新建房间"; +"XPHomeGameView1"="创建房间"; ///不能脚本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男"; diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings index bc338fd6..552ce31d 100644 --- a/YuMi/zh-Hant.lproj/Localizable.strings +++ b/YuMi/zh-Hant.lproj/Localizable.strings @@ -3055,6 +3055,10 @@ ///XPRoomTarrowBannerView "XPRoomTarrowBannerView0"="恭喜%@在幸運塔羅中運氣爆發 獲得%@鉆石"; +///XPHomeGameView + +"XPHomeGameView0"="新建房間"; +"XPHomeGameView1"="創建房間"; ///不能腳本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男";