Compare commits
5 Commits
feature/1.
...
develop_pi
Author | SHA1 | Date | |
---|---|---|---|
![]() |
76a80eaf1e | ||
![]() |
3c024b808f | ||
![]() |
f668f43a42 | ||
![]() |
e45176485d | ||
![]() |
ccbdfb7ee2 |
@@ -498,6 +498,8 @@
|
||||
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */; };
|
||||
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
|
||||
23FF428E2AAB2D3A0055733C /* XPCandyTreeBuyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */; };
|
||||
540EC1D02C89925F00F3BF0D /* GiftComboView.m in Sources */ = {isa = PBXBuildFile; fileRef = 540EC1CF2C89925F00F3BF0D /* GiftComboView.m */; };
|
||||
540EC1D32C89998500F3BF0D /* GiftComboManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 540EC1D22C89998500F3BF0D /* GiftComboManager.m */; };
|
||||
5412E0F42C4E460300FDD668 /* XPMineCenterAgencyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5412E0F32C4E460300FDD668 /* XPMineCenterAgencyView.m */; };
|
||||
5412E0FD2C52512100FDD668 /* RoomBottomEntranceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 5412E0FC2C52512100FDD668 /* RoomBottomEntranceModel.m */; };
|
||||
541DD9552C1EDEFB00B616C4 /* XPHomePagingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 541DD9542C1EDEFB00B616C4 /* XPHomePagingViewController.m */; };
|
||||
@@ -508,6 +510,7 @@
|
||||
545831A62C2C085C00364026 /* ArabMicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 545831A52C2C085C00364026 /* ArabMicroView.m */; };
|
||||
545888332C1AFFB500897585 /* XPRoomPKPanelView.m in Sources */ = {isa = PBXBuildFile; fileRef = 545888322C1AFFB500897585 /* XPRoomPKPanelView.m */; };
|
||||
545888362C1C306B00897585 /* XPRoomPKPaneAvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 545888352C1C306B00897585 /* XPRoomPKPaneAvatarView.m */; };
|
||||
5468995D2C8AFE4C0049136A /* GiftComboFlagView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5468995C2C8AFE4C0049136A /* GiftComboFlagView.m */; };
|
||||
547853A12C258F2A00F45E60 /* XPMineUserViewHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 547853A02C258F2A00F45E60 /* XPMineUserViewHeader.m */; };
|
||||
548E01C52C3F78360071C83D /* FeedBackViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 548E01C22C3F78360071C83D /* FeedBackViewController.xib */; };
|
||||
548E01C62C3F78360071C83D /* FeedBackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 548E01C42C3F78360071C83D /* FeedBackViewController.m */; };
|
||||
@@ -526,6 +529,10 @@
|
||||
54C9A11F2C3DA08000C6D970 /* XPMineGamePartnerInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C9A11E2C3DA08000C6D970 /* XPMineGamePartnerInfoModel.m */; };
|
||||
54C9A1222C3E6C3200C6D970 /* MessageGameOrderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C9A1212C3E6C3200C6D970 /* MessageGameOrderModel.m */; };
|
||||
54C9A1252C3E74AE00C6D970 /* MessageGameOrderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C9A1242C3E74AE00C6D970 /* MessageGameOrderView.m */; };
|
||||
54E4D5302C9048E1009E1FEA /* LuckyGiftWinningFlagView.m in Sources */ = {isa = PBXBuildFile; fileRef = 54E4D52F2C9048E1009E1FEA /* LuckyGiftWinningFlagView.m */; };
|
||||
54E4D5332C90658C009E1FEA /* LuckyGiftWinningBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 54E4D5322C90658C009E1FEA /* LuckyGiftWinningBannerView.m */; };
|
||||
54F179072C8EA48C00CB5219 /* Combo_Boom.svga in Resources */ = {isa = PBXBuildFile; fileRef = 54F179062C8EA48C00CB5219 /* Combo_Boom.svga */; };
|
||||
54F1790A2C8EDDF400CB5219 /* CountdownRingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 54F179092C8EDDF400CB5219 /* CountdownRingView.m */; };
|
||||
54F469352C29711400A83655 /* XPMomentUserDataViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 54F469342C29711400A83655 /* XPMomentUserDataViewController.m */; };
|
||||
54F469382C29C3B400A83655 /* XPMineAlbumTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 54F469372C29C3B400A83655 /* XPMineAlbumTableViewCell.m */; };
|
||||
54F4693B2C2A984D00A83655 /* MedalModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 54F4693A2C2A984D00A83655 /* MedalModel.m */; };
|
||||
@@ -2524,6 +2531,10 @@
|
||||
23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
||||
23FF428C2AAB2D3A0055733C /* XPCandyTreeBuyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPCandyTreeBuyView.h; sourceTree = "<group>"; };
|
||||
23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPCandyTreeBuyView.m; sourceTree = "<group>"; };
|
||||
540EC1CE2C89925F00F3BF0D /* GiftComboView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftComboView.h; sourceTree = "<group>"; };
|
||||
540EC1CF2C89925F00F3BF0D /* GiftComboView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftComboView.m; sourceTree = "<group>"; };
|
||||
540EC1D12C89998500F3BF0D /* GiftComboManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftComboManager.h; sourceTree = "<group>"; };
|
||||
540EC1D22C89998500F3BF0D /* GiftComboManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftComboManager.m; sourceTree = "<group>"; };
|
||||
5412E0F22C4E460300FDD668 /* XPMineCenterAgencyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineCenterAgencyView.h; sourceTree = "<group>"; };
|
||||
5412E0F32C4E460300FDD668 /* XPMineCenterAgencyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineCenterAgencyView.m; sourceTree = "<group>"; };
|
||||
5412E0FB2C52512100FDD668 /* RoomBottomEntranceModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomBottomEntranceModel.h; sourceTree = "<group>"; };
|
||||
@@ -2544,6 +2555,8 @@
|
||||
545888322C1AFFB500897585 /* XPRoomPKPanelView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKPanelView.m; sourceTree = "<group>"; };
|
||||
545888342C1C306B00897585 /* XPRoomPKPaneAvatarView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPKPaneAvatarView.h; sourceTree = "<group>"; };
|
||||
545888352C1C306B00897585 /* XPRoomPKPaneAvatarView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKPaneAvatarView.m; sourceTree = "<group>"; };
|
||||
5468995B2C8AFE4C0049136A /* GiftComboFlagView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftComboFlagView.h; sourceTree = "<group>"; };
|
||||
5468995C2C8AFE4C0049136A /* GiftComboFlagView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftComboFlagView.m; sourceTree = "<group>"; };
|
||||
5478539F2C258F2A00F45E60 /* XPMineUserViewHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserViewHeader.h; sourceTree = "<group>"; };
|
||||
547853A02C258F2A00F45E60 /* XPMineUserViewHeader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserViewHeader.m; sourceTree = "<group>"; };
|
||||
548E01C22C3F78360071C83D /* FeedBackViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FeedBackViewController.xib; sourceTree = "<group>"; };
|
||||
@@ -2580,6 +2593,13 @@
|
||||
54C9A1212C3E6C3200C6D970 /* MessageGameOrderModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageGameOrderModel.m; sourceTree = "<group>"; };
|
||||
54C9A1232C3E74AE00C6D970 /* MessageGameOrderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageGameOrderView.h; sourceTree = "<group>"; };
|
||||
54C9A1242C3E74AE00C6D970 /* MessageGameOrderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageGameOrderView.m; sourceTree = "<group>"; };
|
||||
54E4D52E2C9048E1009E1FEA /* LuckyGiftWinningFlagView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyGiftWinningFlagView.h; sourceTree = "<group>"; };
|
||||
54E4D52F2C9048E1009E1FEA /* LuckyGiftWinningFlagView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyGiftWinningFlagView.m; sourceTree = "<group>"; };
|
||||
54E4D5312C90658C009E1FEA /* LuckyGiftWinningBannerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyGiftWinningBannerView.h; sourceTree = "<group>"; };
|
||||
54E4D5322C90658C009E1FEA /* LuckyGiftWinningBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyGiftWinningBannerView.m; sourceTree = "<group>"; };
|
||||
54F179062C8EA48C00CB5219 /* Combo_Boom.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = Combo_Boom.svga; sourceTree = "<group>"; };
|
||||
54F179082C8EDDF400CB5219 /* CountdownRingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CountdownRingView.h; sourceTree = "<group>"; };
|
||||
54F179092C8EDDF400CB5219 /* CountdownRingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CountdownRingView.m; sourceTree = "<group>"; };
|
||||
54F469332C29711400A83655 /* XPMomentUserDataViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMomentUserDataViewController.h; sourceTree = "<group>"; };
|
||||
54F469342C29711400A83655 /* XPMomentUserDataViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMomentUserDataViewController.m; sourceTree = "<group>"; };
|
||||
54F469362C29C3B400A83655 /* XPMineAlbumTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineAlbumTableViewCell.h; sourceTree = "<group>"; };
|
||||
@@ -7989,6 +8009,10 @@
|
||||
E80E09B22A42071D00CD2BE7 /* XPRoomStarKitchenBannerView.m */,
|
||||
238A90052BA9729200828123 /* PIUniversalBannerView.h */,
|
||||
238A90062BA9729200828123 /* PIUniversalBannerView.m */,
|
||||
54E4D52E2C9048E1009E1FEA /* LuckyGiftWinningFlagView.h */,
|
||||
54E4D52F2C9048E1009E1FEA /* LuckyGiftWinningFlagView.m */,
|
||||
54E4D5312C90658C009E1FEA /* LuckyGiftWinningBannerView.h */,
|
||||
54E4D5322C90658C009E1FEA /* LuckyGiftWinningBannerView.m */,
|
||||
);
|
||||
path = AnimationView;
|
||||
sourceTree = "<group>";
|
||||
@@ -9199,6 +9223,8 @@
|
||||
E8788939273A544000BF1D57 /* Protocol */,
|
||||
E878894E273A699900BF1D57 /* ThemeColor+SendGift.h */,
|
||||
E878894F273A699900BF1D57 /* ThemeColor+SendGift.m */,
|
||||
540EC1D12C89998500F3BF0D /* GiftComboManager.h */,
|
||||
540EC1D22C89998500F3BF0D /* GiftComboManager.m */,
|
||||
);
|
||||
path = SendGiftView;
|
||||
sourceTree = "<group>";
|
||||
@@ -9267,6 +9293,12 @@
|
||||
23630BA52BAC3888003AD25D /* PIGiftSuperGiftBroadcastView.m */,
|
||||
E8D4DE422940462C00EC788D /* XPGiftTwelveStarBroadcastView.h */,
|
||||
E8D4DE432940462C00EC788D /* XPGiftTwelveStarBroadcastView.m */,
|
||||
540EC1CE2C89925F00F3BF0D /* GiftComboView.h */,
|
||||
540EC1CF2C89925F00F3BF0D /* GiftComboView.m */,
|
||||
54F179082C8EDDF400CB5219 /* CountdownRingView.h */,
|
||||
54F179092C8EDDF400CB5219 /* CountdownRingView.m */,
|
||||
5468995B2C8AFE4C0049136A /* GiftComboFlagView.h */,
|
||||
5468995C2C8AFE4C0049136A /* GiftComboFlagView.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -9890,6 +9922,7 @@
|
||||
E8A1E45C276220B100B294CA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
54F179062C8EA48C00CB5219 /* Combo_Boom.svga */,
|
||||
23EE96F12B9FF6BE00475D69 /* pi_crazy_zoo.svga */,
|
||||
237701182BD6143700D661F1 /* pi_happy_egg_smash.svga */,
|
||||
23A03F2C2B4408CD0094227A /* pi_room_lucky_gift.svga */,
|
||||
@@ -11208,6 +11241,7 @@
|
||||
E80EC8A228ACD84100D133C5 /* emoji_09@2x.png in Resources */,
|
||||
E80EC89228ACD84000D133C5 /* emoji_87@2x.png in Resources */,
|
||||
E80EC81828ACD84000D133C5 /* emoji_149@2x.png in Resources */,
|
||||
54F179072C8EA48C00CB5219 /* Combo_Boom.svga in Resources */,
|
||||
E80EC83928ACD84000D133C5 /* emoji_100@2x.png in Resources */,
|
||||
E80EC83028ACD84000D133C5 /* emoji_12@2x.png in Resources */,
|
||||
E80EC8AE28ACD84100D133C5 /* emoji_131@2x.png in Resources */,
|
||||
@@ -11836,6 +11870,7 @@
|
||||
2331C1B42A60F32D00E1D940 /* XPCandyTreeRankTableViewCell.m in Sources */,
|
||||
9B85B6DA279FDC5200A0A1AC /* XPUserCardSkillCollectionViewCell.m in Sources */,
|
||||
E85E7B0D2A4EB0D200B6D00A /* GuildSuperAdminInfoModel.m in Sources */,
|
||||
54F1790A2C8EDDF400CB5219 /* CountdownRingView.m in Sources */,
|
||||
189DD68426E1FDBB00AB55B1 /* XNDJTDDLoadingTool.m in Sources */,
|
||||
9B1B72AF280031F8003FACE9 /* XPAnchorPKSelectRoomView.m in Sources */,
|
||||
5412E0FD2C52512100FDD668 /* RoomBottomEntranceModel.m in Sources */,
|
||||
@@ -12358,6 +12393,7 @@
|
||||
E85E7B4B2A4EB0D300B6D00A /* XPMineGuildManagerSetViewController.m in Sources */,
|
||||
189DD73D26E21C3F00AB55B1 /* YYUtility+Device.m in Sources */,
|
||||
187EEEDC26E89B32002833B2 /* BaseModel.m in Sources */,
|
||||
54E4D5302C9048E1009E1FEA /* LuckyGiftWinningFlagView.m in Sources */,
|
||||
23CEFC682AFCCE7700576D89 /* PIGiftInfoSegmentedView.m in Sources */,
|
||||
E878B85E283640A500E22DCF /* MonentsUnReadModel.m in Sources */,
|
||||
E81366FC26F0D2980076364C /* UIButton+EnlargeTouchArea.m in Sources */,
|
||||
@@ -12404,6 +12440,8 @@
|
||||
238B37B02AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultCell.m in Sources */,
|
||||
E88B5CC126FB407B00DA9178 /* XPMineUserInfoViewController.m in Sources */,
|
||||
2331C1AC2A60F32D00E1D940 /* CandyTreeRecordModel.m in Sources */,
|
||||
540EC1D32C89998500F3BF0D /* GiftComboManager.m in Sources */,
|
||||
5468995D2C8AFE4C0049136A /* GiftComboFlagView.m in Sources */,
|
||||
E81E09CF290F750800A1F410 /* AdvertiseModel.m in Sources */,
|
||||
2305F3472AD94E9D00AD403C /* XPMaskManagerCell.m in Sources */,
|
||||
E852D74428633A08001465ED /* MonentsCommentModel.m in Sources */,
|
||||
@@ -12444,6 +12482,7 @@
|
||||
9BD2ECCE288F829600F5CD9A /* XPMineFootPrintViewController.m in Sources */,
|
||||
9B4E920028E57A620033419E /* XPGiftHeadTypeView.m in Sources */,
|
||||
238B37C62AC55A2C00BFC9D5 /* XPTreasureFairyMyView.m in Sources */,
|
||||
54E4D5332C90658C009E1FEA /* LuckyGiftWinningBannerView.m in Sources */,
|
||||
E86A16BF2856D4D5004228B8 /* XPSessionFindNewGreetListView.m in Sources */,
|
||||
E85E7B312A4EB0D300B6D00A /* XPNewGuildIncomeHeaderView.m in Sources */,
|
||||
9B0997A327F19DE500EB8F14 /* QGHWDShaders.metal in Sources */,
|
||||
@@ -12588,6 +12627,7 @@
|
||||
E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */,
|
||||
237700D32BC7CC7C00D661F1 /* NSObject+MJExtension.m in Sources */,
|
||||
E8D4DE442940462C00EC788D /* XPGiftTwelveStarBroadcastView.m in Sources */,
|
||||
540EC1D02C89925F00F3BF0D /* GiftComboView.m in Sources */,
|
||||
E81060DF29876D3A00B772F0 /* MessageTimeModel.m in Sources */,
|
||||
E81A65422835120200F55894 /* XPMonentsInteractivePresenter.m in Sources */,
|
||||
238B37A82AC55A2C00BFC9D5 /* TreasureFairyTrialsRecordModel.m in Sources */,
|
||||
@@ -12830,7 +12870,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.35;
|
||||
MARKETING_VERSION = 20.20.36;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@@ -12872,7 +12912,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.35;
|
||||
MARKETING_VERSION = 20.20.36;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
6
YuMi/Assets.xcassets/1.0.15/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@@ -9,7 +9,7 @@
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "5@3x.png",
|
||||
"filename" : "椭圆 5@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/1.0.15/luck_gift_flag.imageset/椭圆 5@3x.png
vendored
Normal file
After Width: | Height: | Size: 28 KiB |
@@ -9,7 +9,7 @@
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_game_gold_icon@3x.png",
|
||||
"filename" : "容器 8156@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/1.0.15/luck_gift_flag_ball.imageset/容器 8156@3x.png
vendored
Normal file
After Width: | Height: | Size: 14 KiB |
@@ -9,7 +9,7 @@
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_message_chat_hall_head_coin@3x.png",
|
||||
"filename" : "组 4.jpg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/1.0.15/luck_gift_gold.imageset/组 4.jpg@3x.png
vendored
Normal file
After Width: | Height: | Size: 242 KiB |
21
YuMi/Assets.xcassets/1.0.15/luck_gift_pruple.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "组 4.jpg@3x-2.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/1.0.15/luck_gift_pruple.imageset/组 4.jpg@3x-2.png
vendored
Normal file
After Width: | Height: | Size: 246 KiB |
21
YuMi/Assets.xcassets/1.0.15/moli_money_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "moli_money_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/1.0.15/moli_money_icon.imageset/moli_money_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
YuMi/Assets.xcassets/5.imageset/5@3x.png
vendored
Before Width: | Height: | Size: 725 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_begin_coin@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_begin_coin@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.8 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_coin_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_coin_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.8 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_underwa_coin@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_underwa_coin@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.6 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_victory_coin@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_victory_coin@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 2.0 KiB |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_message_chat_hall_head_coin_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 6.0 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "exchange_gold_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "exchange_gold_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.7 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_exchange_coin_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_exchange_coin_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.8 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_income_record_coin@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_income_record_coin@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 8.5 KiB |
@@ -5,12 +5,11 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_mine_coin_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_mine_coin_bg@3x.png",
|
||||
"filename" : "组-11@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 54 KiB |
BIN
YuMi/Assets.xcassets/jm/IncomeRecord/ms_mine_coin_bg.imageset/组-11@2x.png
vendored
Normal file
After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 2.7 KiB |
@@ -9,7 +9,7 @@
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "金币 1@3x.png",
|
||||
"filename" : "飘窗bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/middle/gift_combo_flag_bg.imageset/飘窗bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 24 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_gold@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_gold@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.2 KiB |
@@ -48,7 +48,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"1.0.21"
|
||||
#define PI_App_Version @"1.0.22"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
#define PI_Test_Flight @"TestFlight"
|
||||
|
@@ -126,6 +126,10 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
|
||||
CustomMessageType_Chat_Room_Game = 109,
|
||||
///家族新协议
|
||||
CustomMessageType_New_Hall = 110,
|
||||
|
||||
///房间流水
|
||||
CustomMessageType_MoneyFlow = 111,
|
||||
|
||||
///游戏陪玩开黑
|
||||
CustomMessageType_Game_Order = 112,
|
||||
};
|
||||
@@ -652,14 +656,17 @@ typedef NS_ENUM(NSUInteger, CustomMessageTypeGeneralPublicScreen) {
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeSuperGift) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_Super_Gift = 1061,
|
||||
|
||||
// 送礼者显示中奖内容
|
||||
Custom_Message_Sub_Super_Gift_Winning_Coins = 1062,
|
||||
// 全服显示中奖内容
|
||||
Custom_Message_Sub_Super_Gift_Winning_Coins_ALL_Room = 1063,
|
||||
};
|
||||
///通用飘屏
|
||||
//CustomMessageType_General_Floating_Screen = 105,
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeGeneralFloatingScreen) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_General_Floating_Screen_One_Room = 1071,//单房间
|
||||
Custom_Message_Sub_General_Floating_Screen_All_Room = 1072,///全部房间
|
||||
Custom_Message_Sub_General_Floating_Screen_All_Room = 1072,//全部房间
|
||||
};
|
||||
///聊天大厅上头条
|
||||
//CustomMessageType_Chat_Hall_Headlinesn = 108,
|
||||
@@ -691,12 +698,17 @@ typedef NS_ENUM(NSUInteger, CustomMessageTypeNewHall) {
|
||||
};
|
||||
|
||||
///开黑邀请
|
||||
//first = 103,
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeGameOrder) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_Game_order = 1121,
|
||||
};
|
||||
|
||||
/// 房间流水
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeMoneyFlow) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_Money_Flow = 1110,
|
||||
};
|
||||
|
||||
@interface AttachmentModel : PIBaseModel<NIMCustomAttachment>
|
||||
@property (nonatomic,assign) int first;
|
||||
@property (nonatomic,assign) int second;
|
||||
|
@@ -103,7 +103,7 @@
|
||||
///获取VIP信息
|
||||
- (void)getNobleInfo {
|
||||
@kWeakify(self);
|
||||
[Api nobleCenterLevelList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[Api vipCenterLevelList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
NobleCenterModel *model = [NobleCenterModel modelWithDictionary:data.data];
|
||||
[[self getView] getNobleCenterInfoSuccess:model ];
|
||||
|
@@ -46,7 +46,7 @@
|
||||
|
||||
- (void)updatePriceContent {
|
||||
NSTextAttachment *coinAttachment = [[NSTextAttachment alloc] init];
|
||||
coinAttachment.image = kImage(@"mine_game_gold_icon");
|
||||
coinAttachment.image = kImage(@"moli_money_icon");
|
||||
coinAttachment.bounds = CGRectMake(0, -0.5, 9, 9);
|
||||
NSAttributedString *coin = [NSAttributedString attributedStringWithAttachment:coinAttachment];
|
||||
NSAttributedString *price = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ ", @(self.cellModel.price)]
|
||||
@@ -104,7 +104,7 @@
|
||||
priceStack.distribution = UIStackViewDistributionFill;
|
||||
priceStack.alignment = UIStackViewAlignmentCenter;
|
||||
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"mine_game_gold_icon")];
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||
coinIcon.frame = CGRectMake(0, 0, 12, 12);
|
||||
[priceStack addArrangedSubview:self.priceLabel];
|
||||
[priceStack addArrangedSubview:coinIcon];
|
||||
|
@@ -73,7 +73,7 @@
|
||||
|
||||
- (void)updateBalanceContent {
|
||||
NSTextAttachment *coinAttachment = [[NSTextAttachment alloc] init];
|
||||
coinAttachment.image = kImage(@"mine_game_gold_icon");
|
||||
coinAttachment.image = kImage(@"moli_money_icon");
|
||||
coinAttachment.bounds = CGRectMake(2, -0.5, 10, 10);
|
||||
NSAttributedString *coin = [NSAttributedString attributedStringWithAttachment:coinAttachment];
|
||||
NSAttributedString *price = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@:%ld ", YMLocalizedString(@"GameOrderContent_21"),(long)self.currentCoin]
|
||||
@@ -166,7 +166,7 @@
|
||||
priceStack.distribution = UIStackViewDistributionFill;
|
||||
priceStack.alignment = UIStackViewAlignmentCenter;
|
||||
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"mine_game_gold_icon")];
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||
coinIcon.frame = CGRectMake(0, 0, 12, 12);
|
||||
[priceStack addArrangedSubview:self.priceLabel];
|
||||
[priceStack addArrangedSubview:coinIcon];
|
||||
|
@@ -103,7 +103,7 @@
|
||||
_giftNumberLabel.text = [NSString stringWithFormat:@"X%ld", _giftInfo.reciveCount];
|
||||
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %ld",_giftInfo.giftPrice] attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x6D6B89)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(_priceView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
attachment.image = iconImage;
|
||||
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:0];
|
||||
|
@@ -105,7 +105,7 @@
|
||||
if (!_coinImageView) {
|
||||
_coinImageView = [[UIImageView alloc] init];
|
||||
_coinImageView.userInteractionEnabled = YES;
|
||||
_coinImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_coinImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _coinImageView;
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@
|
||||
|
||||
- (void)updatePriceContent {
|
||||
NSTextAttachment *coinAttachment = [[NSTextAttachment alloc] init];
|
||||
coinAttachment.image = kImage(@"mine_game_gold_icon");
|
||||
coinAttachment.image = kImage(@"moli_money_icon");
|
||||
coinAttachment.bounds = CGRectMake(4, 0.5, 9, 9);
|
||||
NSAttributedString *coin = [NSAttributedString attributedStringWithAttachment:coinAttachment];
|
||||
NSAttributedString *price = [[NSAttributedString alloc] initWithString:@(self.model.amount).stringValue
|
||||
@@ -148,7 +148,7 @@
|
||||
// [priceStack addArrangedSubview:[self titleLabel:YMLocalizedString(@"GameOrderContent_12")]];
|
||||
// [priceStack addArrangedSubview:self.gamePriceLabel];
|
||||
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"mine_game_gold_icon")];
|
||||
UIImageView *coinIcon = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||
coinIcon.contentMode = UIViewContentModeScaleAspectFit;
|
||||
[coinIcon setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
[coinIcon setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
|
@@ -207,7 +207,7 @@
|
||||
- (UIImageView *)diamondImageView {
|
||||
if (!_diamondImageView) {
|
||||
_diamondImageView = [[UIImageView alloc] init];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _diamondImageView;
|
||||
}
|
||||
|
@@ -188,7 +188,7 @@
|
||||
- (UIImageView *)diamondImageView {
|
||||
if (!_diamondImageView) {
|
||||
_diamondImageView = [[UIImageView alloc] init];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _diamondImageView;
|
||||
}
|
||||
|
@@ -366,7 +366,7 @@
|
||||
- (UIImageView *)diamondImageView {
|
||||
if (!_diamondImageView) {
|
||||
_diamondImageView = [[UIImageView alloc] init];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _diamondImageView;
|
||||
}
|
||||
|
@@ -153,10 +153,10 @@
|
||||
_detailModel = detailModel;
|
||||
_userNameView.text = _detailModel.nick;
|
||||
_userImageView.imageUrl = _detailModel.avatar;
|
||||
_exchangeNumView.text = [NSString getDealNumwithstring:_detailModel.giftGolds];
|
||||
_diamondsNumView.text = [NSString getDealNumwithstring:_detailModel.giftDiamonds];
|
||||
_convertedView.text = [NSString stringWithFormat:YMLocalizedString(@"XPIncomeRecordGoldDetailsCell0"),[NSString getDealNumwithstring:_detailModel.exchangeGolds]];
|
||||
_settlementNumView.text = [NSString getDealNumwithstring:_detailModel.remainGolds];
|
||||
_exchangeNumView.text = [NSString getDealNumWithString:_detailModel.giftGolds];
|
||||
_diamondsNumView.text = [NSString getDealNumWithString:_detailModel.giftDiamonds];
|
||||
_convertedView.text = [NSString stringWithFormat:YMLocalizedString(@"XPIncomeRecordGoldDetailsCell0"),[NSString getDealNumWithString:_detailModel.exchangeGolds]];
|
||||
_settlementNumView.text = [NSString getDealNumWithString:_detailModel.remainGolds];
|
||||
}
|
||||
#pragma mark -懒加载
|
||||
- (NetImageView *)userImageView{
|
||||
|
@@ -370,7 +370,7 @@
|
||||
-(UIImageView *)numIcon{
|
||||
if (!_numIcon){
|
||||
_numIcon = [UIImageView new];
|
||||
_numIcon.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_numIcon.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _numIcon;
|
||||
}
|
||||
@@ -408,7 +408,7 @@
|
||||
-(UIImageView *)myDiamondIcon{
|
||||
if (!_myDiamondIcon){
|
||||
_myDiamondIcon = [UIImageView new];
|
||||
_myDiamondIcon.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_myDiamondIcon.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _myDiamondIcon;
|
||||
}
|
||||
|
@@ -121,7 +121,7 @@
|
||||
if(_type == 2){
|
||||
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@(_inputDiamonds).stringValue attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kGetScaleWidth(30) weight:UIFontWeightMedium],NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(self.numView.font.capHeight - 24)/2.f, 24, 24);
|
||||
attachment.image =iconImage;
|
||||
NSAttributedString * starAttribute = [NSMutableAttributedString attributedStringWithAttachment:(NSTextAttachment *)attachment];
|
||||
@@ -134,7 +134,7 @@
|
||||
_titleView.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineConfirmGiveDiamondView1"),_giveDiamondModel.targetNick];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@(self.inputDiamonds).stringValue attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kGetScaleWidth(30) weight:UIFontWeightMedium],NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(self.numView.font.capHeight - 24)/2.f, 24, 24);
|
||||
|
||||
attachment.image =iconImage;
|
||||
|
@@ -162,10 +162,10 @@
|
||||
}
|
||||
-(void)setDetailModel:(XPIncomeRecordGoldDetailsModel *)detailModel{
|
||||
_detailModel = detailModel;
|
||||
_baseNumView.number = [NSString getDealNumwithstring:_detailModel.totalRemainGolds];
|
||||
_guildNumView.number = [NSString getDealNumwithstring:_detailModel.totalEarnGolds];
|
||||
_numberGoldView.number = [NSString getDealNumwithstring:_detailModel.totalGiftGolds];
|
||||
_numberExchangeView.number = [NSString getDealNumwithstring:_detailModel.totalExchangeGolds];
|
||||
_baseNumView.number = [NSString getDealNumWithString:_detailModel.totalRemainGolds];
|
||||
_guildNumView.number = [NSString getDealNumWithString:_detailModel.totalEarnGolds];
|
||||
_numberGoldView.number = [NSString getDealNumWithString:_detailModel.totalGiftGolds];
|
||||
_numberExchangeView.number = [NSString getDealNumWithString:_detailModel.totalExchangeGolds];
|
||||
}
|
||||
-(void)resetArrow{
|
||||
self.diamondView.upBtn.selected = YES;
|
||||
|
@@ -160,11 +160,11 @@
|
||||
if (_userInfo) {
|
||||
self.avatarImageView.imageUrl = _userInfo.hallAvatar;
|
||||
self.idLabel.text = _userInfo.hallName;
|
||||
self.roomIncomeCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.roomIncome]];
|
||||
self.normalGiftcoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.normalGiftIncome]];
|
||||
self.packGiftCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.bagIncome]];
|
||||
self.sendGiftCountCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.giftUv]];
|
||||
self.NewUserGiftCountCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumwithstring:_userInfo.userSendGiftNum]];
|
||||
self.roomIncomeCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumWithString:_userInfo.roomIncome]];
|
||||
self.normalGiftcoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumWithString:_userInfo.normalGiftIncome]];
|
||||
self.packGiftCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumWithString:_userInfo.bagIncome]];
|
||||
self.sendGiftCountCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumWithString:_userInfo.giftUv]];
|
||||
self.NewUserGiftCountCoinLabel.text = [NSString stringWithFormat:@"+%@", [NSString getDealNumWithString:_userInfo.userSendGiftNum]];
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -231,7 +231,7 @@
|
||||
_model = model;
|
||||
if(self.type == IncomeRecord_Gold){
|
||||
_titleNumView.text = [NSString stringWithFormat:YMLocalizedString(@"XPExchangeDiamondsItemView0"),@(_model.golds)];
|
||||
UIImage *image = [UIImage imageNamed:@"ms_exchange_coin_icon"];
|
||||
UIImage *image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
[_iconView setImage:image forState:UIControlStateNormal];
|
||||
|
||||
}else{
|
||||
@@ -309,7 +309,7 @@
|
||||
}
|
||||
-(UIButton *)iconView{
|
||||
if (!_iconView){
|
||||
UIImage *image = self.type == IncomeRecord_Gold ? [UIImage imageNamed:@"ms_exchange_coin_icon"] : [UIImage imageNamed:@"exchange_new_diamonds_icon"];
|
||||
UIImage *image = self.type == IncomeRecord_Gold ? [UIImage imageNamed:@"moli_money_icon"] : [UIImage imageNamed:@"exchange_new_diamonds_icon"];
|
||||
_iconView = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_iconView setImage:image forState:UIControlStateNormal];
|
||||
}
|
||||
|
@@ -191,9 +191,9 @@
|
||||
|
||||
}
|
||||
-(NSMutableAttributedString *)getTotalAttWtihNum:(NSString *)total{
|
||||
NSString *getTotal = [NSString stringWithFormat:YMLocalizedString(@"XPIncomeRecordGoldDetailsView1"),[NSString getDealNumwithstring:total]];
|
||||
NSString *getTotal = [NSString stringWithFormat:YMLocalizedString(@"XPIncomeRecordGoldDetailsView1"),[NSString getDealNumWithString:total]];
|
||||
NSMutableAttributedString *totalAtt = [[NSMutableAttributedString alloc]initWithString:getTotal attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium],NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}];
|
||||
[totalAtt addAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0xDE9F0C)} range:[getTotal rangeOfString:[NSString getDealNumwithstring:total]]];
|
||||
[totalAtt addAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0xDE9F0C)} range:[getTotal rangeOfString:[NSString getDealNumWithString:total]]];
|
||||
return totalAtt;
|
||||
}
|
||||
#pragma mark - XPIncomeRecordGoldDetailsCellDelegate
|
||||
|
@@ -133,14 +133,14 @@
|
||||
_bgImageView = [UIImageView new];
|
||||
_bgImageView.userInteractionEnabled = YES;
|
||||
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_bgImageView.image = self.type == IncomeRecord_Gold ? [UIImage imageNamed:@"income_record_gold_bg"]:[UIImage imageNamed:@"income_record_diamond_bg"];
|
||||
_bgImageView.image = self.type == IncomeRecord_Gold ? [[UIImage imageNamed:@"income_record_gold_bg"] ms_SetImageForRTL]:[[UIImage imageNamed:@"income_record_diamond_bg"] ms_SetImageForRTL];
|
||||
}
|
||||
return _bgImageView;
|
||||
}
|
||||
- (UIImageView *)coinView{
|
||||
if(!_coinView){
|
||||
_coinView = [UIImageView new];
|
||||
_coinView.image = self.type == IncomeRecord_Gold ? [UIImage imageNamed:@"ms_income_record_coin"]:[UIImage imageNamed:@"ms_income_recorddiamond"];
|
||||
_coinView.image = self.type == IncomeRecord_Gold ? [UIImage imageNamed:@"moli_money_icon"]:[UIImage imageNamed:@"ms_income_recorddiamond"];
|
||||
}
|
||||
return _coinView;
|
||||
}
|
||||
|
@@ -13,7 +13,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/// VIP中心等级列表
|
||||
/// @param completion 完成
|
||||
+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion;
|
||||
//+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion;
|
||||
+ (void)vipCenterLevelList:(HttpRequestHelperCompletion)completion;
|
||||
///领取返利钻石
|
||||
+ (void)getNobleCenterDiamond:(HttpRequestHelperCompletion)completion returnProfitRecordId:(NSString *)returnProfitRecordId;
|
||||
///获取开通VIP产品列表
|
||||
|
@@ -11,9 +11,16 @@
|
||||
|
||||
/// VIP中心等级列表
|
||||
/// @param completion 完成
|
||||
+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion {
|
||||
//+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion {
|
||||
// [self makeRequest:@"vip/getVipPageInfo" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
//}
|
||||
// vip/v2/getVipPageInfo
|
||||
+ (void)vipCenterLevelList:(HttpRequestHelperCompletion)completion {
|
||||
[self makeRequest:@"vip/getVipPageInfo" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
//vip/v2/getVipPageInfo
|
||||
|
||||
///领取返利钻石
|
||||
+ (void)getNobleCenterDiamond:(HttpRequestHelperCompletion)completion returnProfitRecordId:(NSString *)returnProfitRecordId{
|
||||
[self makeRequest:@"vip/returnProfit/receive" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, returnProfitRecordId,nil];
|
||||
|
@@ -25,7 +25,7 @@
|
||||
|
||||
/// 获取VIP中心数据
|
||||
- (void)getNobleCenterInfo {
|
||||
[Api nobleCenterLevelList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[Api vipCenterLevelList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NobleCenterModel *model = [NobleCenterModel modelWithDictionary:data.data];
|
||||
[[self getView] getNobleCenterInfoSuccess:model];
|
||||
}]];
|
||||
|
@@ -90,7 +90,7 @@
|
||||
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
XPNobleCenterPayCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleCenterPayCell class]) forIndexPath:indexPath];
|
||||
cell.isChoose = indexPath.row == self.path.row;
|
||||
cell.iconImage = indexPath.row == 0 ? kImage( @"exchange_gold_icon") : kImage(@"noble_open_btn");
|
||||
cell.iconImage = indexPath.row == 0 ? kImage( @"moli_money_icon") : kImage(@"noble_open_btn");
|
||||
NSString *num = [NSString stringWithFormat:@"(%@%@)",self.diamonds,YMLocalizedString(@"XPNobleCenterPayView1")];
|
||||
NSString *text = indexPath.row == 0 ? [NSString stringWithFormat:@"%@%@",self.listData[indexPath.row],num] : self.listData[indexPath.row];
|
||||
|
||||
|
@@ -639,7 +639,7 @@
|
||||
make.width.mas_equalTo(kGetScaleWidth(146));
|
||||
}];
|
||||
|
||||
UIImageView *coin = [[UIImageView alloc] initWithImage:kImage(@"vip_center_purchase_coin")];
|
||||
UIImageView *coin = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||
[_purchaseContainer addSubview:coin];
|
||||
[coin mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(10);
|
||||
@@ -843,7 +843,7 @@
|
||||
|
||||
- (void)loadVIPCenterInfo {
|
||||
@kWeakify(self);
|
||||
[Api nobleCenterLevelList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
[Api vipCenterLevelList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
if (code == 200) {
|
||||
NobleCenterModel *model = [NobleCenterModel modelWithDictionary:data.data];
|
||||
|
@@ -84,7 +84,7 @@
|
||||
- (UIImageView *)balanceBgVeiw{
|
||||
if(!_balanceBgVeiw){
|
||||
_balanceBgVeiw = [UIImageView new];
|
||||
_balanceBgVeiw.image = kImage(@"ms_mine_coin_bg");
|
||||
_balanceBgVeiw.image = [kImage(@"ms_mine_coin_bg") ms_SetImageForRTL];
|
||||
}
|
||||
return _balanceBgVeiw;
|
||||
}
|
||||
|
@@ -110,7 +110,7 @@
|
||||
if (!_coinImageView) {
|
||||
_coinImageView = [[UIImageView alloc] init];
|
||||
_coinImageView.userInteractionEnabled = YES;
|
||||
_coinImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_coinImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _coinImageView;
|
||||
}
|
||||
|
@@ -663,7 +663,7 @@ UIKIT_EXTERN NSString *kRequestTicket;
|
||||
- (void)getNobleCenterInfoSuccess:(NobleCenterModel *)model {
|
||||
self.headView.nobleInfo = model;
|
||||
@kWeakify(self);
|
||||
[Api nobleCenterLevelList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
[Api vipCenterLevelList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
if (code == 200){
|
||||
NobleCenterModel *model = [NobleCenterModel modelWithDictionary:data.data];
|
||||
|
@@ -179,8 +179,6 @@
|
||||
/// 获取普通的礼物
|
||||
/// @param roomUid 房主的uid 获取房间专属礼物
|
||||
- (void)getNormalGiftList:(NSString *)roomUid {
|
||||
|
||||
|
||||
[[XPGiftStorage shareStorage] updateRoomUID:roomUid];
|
||||
|
||||
[Api requestAllTagsAndNormalGifts:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
|
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// LuckyGiftWinningBannerView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by P on 2024/9/10.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@class AttachmentModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LuckyGiftWinningBannerView : UIView
|
||||
|
||||
@property (nonatomic, copy) void(^didTapBanner)(NSInteger roomID);
|
||||
|
||||
+ (void)display:(UIView *)superView
|
||||
inRoomUid:(NSInteger)roomUid
|
||||
with:(AttachmentModel *)attachment
|
||||
complete:(void(^)(void))complete
|
||||
exitCurrentRoom:(void(^)(void))exit;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,266 @@
|
||||
//
|
||||
// LuckyGiftWinningBannerView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by P on 2024/9/10.
|
||||
//
|
||||
|
||||
#import "LuckyGiftWinningBannerView.h"
|
||||
|
||||
#import "AttachmentModel.h"
|
||||
#import "i18nGiftNameMap.h"
|
||||
|
||||
#import "XPRoomViewController.h"
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
|
||||
@interface LuckyGiftWinningBannerViewModel : PIBaseModel
|
||||
|
||||
@property (nonatomic, copy) NSString *times;
|
||||
@property (nonatomic, copy) NSString *avatar;
|
||||
@property (nonatomic, copy) NSString *coins;
|
||||
@property (nonatomic, copy) NSDictionary *giftNameMap;
|
||||
@property (nonatomic, copy) NSString *roomUid;
|
||||
|
||||
- (NSString *)giftName;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation LuckyGiftWinningBannerViewModel
|
||||
|
||||
+ (NSDictionary *)replacedKeyFromPropertyName {
|
||||
return @{
|
||||
@"avatar":@"sender.avatar"
|
||||
};
|
||||
}
|
||||
|
||||
- (NSString *)giftName {
|
||||
if ([self.giftNameMap.allKeys containsObject:@"ar"] && isMSRTL()) {
|
||||
return self.giftNameMap[@"ar"];
|
||||
} else if ([self.giftNameMap.allKeys containsObject:@"zh"] && isMSZH()) {
|
||||
return self.giftNameMap[@"zh"];
|
||||
} else {
|
||||
return self.giftNameMap[@"en"];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@interface LuckyGiftWinningBannerView ()
|
||||
|
||||
@property (nonatomic, strong) LuckyGiftWinningBannerViewModel *model;
|
||||
@property (nonatomic, strong) UIImageView *backgroundImageView;
|
||||
@property (nonatomic, strong) UIImageView *ballImageView;
|
||||
@property (nonatomic, strong) NetImageView *avatarImage;
|
||||
@property (nonatomic, strong) UILabel *giftNameLabel;
|
||||
@property (nonatomic, strong) UILabel *timesLabel;
|
||||
@property (nonatomic, strong) UILabel *coinsLabel;
|
||||
|
||||
@property (nonatomic, assign) NSInteger currentRoomUid;
|
||||
|
||||
@property (nonatomic, copy) void(^completeDisplay)(void);
|
||||
@property (nonatomic, copy) void(^exitCurrentRoom)(void);
|
||||
|
||||
@end
|
||||
|
||||
@implementation LuckyGiftWinningBannerView
|
||||
|
||||
+ (void)display:(UIView *)superView
|
||||
inRoomUid:(NSInteger)roomUid
|
||||
with:(AttachmentModel *)attachment
|
||||
complete:(void(^)(void))complete
|
||||
exitCurrentRoom:(void(^)(void))exit {
|
||||
|
||||
LuckyGiftWinningBannerViewModel *model = [LuckyGiftWinningBannerViewModel modelWithDictionary:attachment.data];
|
||||
|
||||
CGFloat width = kGetScaleWidth(346.5);
|
||||
CGFloat height = kGetScaleWidth(82.5);
|
||||
LuckyGiftWinningBannerView *bannerView = [[LuckyGiftWinningBannerView alloc] initWithFrame:CGRectMake(KScreenWidth, 80, width, height)];
|
||||
bannerView.model = model;
|
||||
bannerView.completeDisplay = complete;
|
||||
bannerView.exitCurrentRoom = exit;
|
||||
bannerView.currentRoomUid = roomUid;
|
||||
[superView addSubview:bannerView];
|
||||
|
||||
@kWeakify(bannerView);
|
||||
[UIView animateWithDuration:0.25 animations:^{
|
||||
bannerView.center = CGPointMake(superView.center.x, height/2 + 80);
|
||||
} completion:^(BOOL finished) {
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
|
||||
bannerView.frame = CGRectMake(-KScreenWidth, 80, width, height);
|
||||
} completion:^(BOOL finished) {
|
||||
@kStrongify(bannerView);
|
||||
[bannerView removeFromSuperview];
|
||||
if (bannerView.completeDisplay) {
|
||||
bannerView.completeDisplay();
|
||||
}
|
||||
}];
|
||||
});
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)setModel:(LuckyGiftWinningBannerViewModel *)model {
|
||||
_model = model;
|
||||
self.avatarImage.imageUrl = model.avatar;
|
||||
self.giftNameLabel.text = [model giftName];
|
||||
self.timesLabel.text = model.times;
|
||||
self.coinsLabel.text = [NSString formatNumberToKOrM:model.coins];
|
||||
}
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
[self setupUI];
|
||||
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[self addSubview:b];
|
||||
[b mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
[b addTarget:self action:@selector(handelTap) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)handelTap {
|
||||
if (self.model.roomUid.integerValue == self.currentRoomUid) {
|
||||
return;
|
||||
}
|
||||
|
||||
@kWeakify(self);
|
||||
[TTPopup alertWithMessage:YMLocalizedString(@"Combo_10") confirmHandler:^{
|
||||
@kStrongify(self);
|
||||
if (self.exitCurrentRoom) {
|
||||
self.exitCurrentRoom();
|
||||
}
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[XPRoomViewController openRoom:self.model.roomUid
|
||||
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
|
||||
});
|
||||
} cancelHandler:^{}];
|
||||
}
|
||||
|
||||
- (void)setupUI {
|
||||
[self addSubview:self.backgroundImageView];
|
||||
[self.backgroundImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self addSubview:self.ballImageView];
|
||||
[self.ballImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.bottom.top.mas_equalTo(self);
|
||||
make.width.mas_equalTo(self.ballImageView.mas_height);
|
||||
}];
|
||||
|
||||
[self addSubview:self.avatarImage];
|
||||
[self.avatarImage mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(8));
|
||||
make.top.mas_equalTo(kGetScaleWidth(24));
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(43));
|
||||
}];
|
||||
|
||||
UILabel *titleLabel_1 = [UILabel labelInitWithText:YMLocalizedString(@"Combo_0") font:kFontSemibold(14) textColor:[UIColor whiteColor]];
|
||||
[self addSubview:titleLabel_1];
|
||||
[titleLabel_1 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.avatarImage).offset(2);
|
||||
make.leading.mas_equalTo(self.avatarImage.mas_trailing).offset(10);
|
||||
}];
|
||||
|
||||
[self addSubview:self.giftNameLabel];
|
||||
[self.giftNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(titleLabel_1);
|
||||
make.leading.mas_equalTo(titleLabel_1.mas_trailing).offset(3);
|
||||
}];
|
||||
|
||||
UILabel *titleLabel_2 = [UILabel labelInitWithText:YMLocalizedString(@"Combo_4") font:kFontSemibold(14) textColor:[UIColor whiteColor]];
|
||||
[self addSubview:titleLabel_2];
|
||||
[titleLabel_2 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.mas_equalTo(self.avatarImage.mas_bottom).offset(-2);
|
||||
make.leading.mas_equalTo(self.avatarImage.mas_trailing).offset(10);
|
||||
}];
|
||||
|
||||
[self addSubview:self.timesLabel];
|
||||
[self.timesLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(titleLabel_2);
|
||||
make.leading.mas_equalTo(titleLabel_2.mas_trailing).offset(3);
|
||||
}];
|
||||
|
||||
UILabel *titleLabel_3 = [UILabel labelInitWithText:YMLocalizedString(@"Combo_9") font:kFontSemibold(14) textColor:[UIColor whiteColor]];
|
||||
[self addSubview:titleLabel_3];
|
||||
[titleLabel_3 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(self.timesLabel);
|
||||
make.leading.mas_equalTo(self.timesLabel.mas_trailing).offset(3);
|
||||
}];
|
||||
|
||||
[self addSubview:self.coinsLabel];
|
||||
[self.coinsLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.ballImageView);
|
||||
make.top.mas_equalTo(self).offset(kGetScaleWidth(18));
|
||||
make.height.mas_equalTo(kGetScaleWidth(28));
|
||||
make.width.mas_equalTo(self.ballImageView);
|
||||
}];
|
||||
|
||||
UILabel *titleLabel_4 = [UILabel labelInitWithText:YMLocalizedString(@"Combo_5") font:kFontSemibold(14) textColor:[UIColor whiteColor]];
|
||||
[self addSubview:titleLabel_4];
|
||||
[titleLabel_4 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.coinsLabel);
|
||||
make.top.mas_equalTo(self.coinsLabel.mas_bottom);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
- (UIImageView *)backgroundImageView {
|
||||
if (!_backgroundImageView) {
|
||||
_backgroundImageView = [[UIImageView alloc] initWithImage:[kImage(@"luck_gift_flag") ms_SetImageForRTL]];
|
||||
_backgroundImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
}
|
||||
return _backgroundImageView;
|
||||
}
|
||||
|
||||
- (UIImageView *)ballImageView {
|
||||
if (!_ballImageView) {
|
||||
_ballImageView = [[UIImageView alloc] initWithImage:kImage(@"luck_gift_flag_ball")];
|
||||
_ballImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
}
|
||||
return _ballImageView;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImage {
|
||||
if (!_avatarImage) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
config.imageType = ImageTypeCornerAvatar;
|
||||
_avatarImage = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImage.backgroundColor = [UIColor clearColor];
|
||||
_avatarImage.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_avatarImage.layer.cornerRadius = kGetScaleWidth(43/2);
|
||||
_avatarImage.layer.masksToBounds = YES;
|
||||
_avatarImage.clipsToBounds = YES;
|
||||
}
|
||||
return _avatarImage;
|
||||
}
|
||||
|
||||
- (UILabel *)giftNameLabel {
|
||||
if (!_giftNameLabel) {
|
||||
_giftNameLabel = [UILabel labelInitWithText:@"Gift" font:kFontSemibold(14) textColor:UIColorFromRGB(0xffe375)];
|
||||
}
|
||||
return _giftNameLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)coinsLabel {
|
||||
if (!_coinsLabel) {
|
||||
_coinsLabel = [UILabel labelInitWithText:@"14K" font:kFontSemibold(20) textColor:UIColorFromRGB(0xffe375)];
|
||||
_coinsLabel.adjustsFontSizeToFitWidth = YES;
|
||||
_coinsLabel.minimumScaleFactor = 0.5;
|
||||
_coinsLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _coinsLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)timesLabel {
|
||||
if (!_timesLabel) {
|
||||
_timesLabel = [UILabel labelInitWithText:@"913" font:kFontSemibold(14) textColor:UIColorFromRGB(0xffe375)];
|
||||
}
|
||||
return _timesLabel;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// LuckyGiftWinningFlagView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by P on 2024/9/10.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class AttachmentModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LuckyGiftWinningFlagView : UIView
|
||||
|
||||
+ (void)display:(UIView *)superView
|
||||
with:(AttachmentModel *)attachment
|
||||
roomID:(NSInteger)roomID
|
||||
uID:(NSString *)UID;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,196 @@
|
||||
//
|
||||
// LuckyGiftWinningFlagView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by P on 2024/9/10.
|
||||
//
|
||||
|
||||
#import "LuckyGiftWinningFlagView.h"
|
||||
#import "AttachmentModel.h"
|
||||
|
||||
@interface LuckyGiftWinningFlagViewModel : PIBaseModel
|
||||
|
||||
@property (nonatomic, assign) NSInteger uid;
|
||||
@property (nonatomic, assign) NSInteger level;
|
||||
@property (nonatomic, assign) NSInteger roomId;
|
||||
|
||||
@property (nonatomic, copy) NSString *times;
|
||||
@property (nonatomic, copy) NSString *coins;
|
||||
@property (nonatomic, copy) NSString *roomUid;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation LuckyGiftWinningFlagViewModel
|
||||
|
||||
@end
|
||||
|
||||
@interface LuckyGiftWinningFlagView ()
|
||||
|
||||
@property (nonatomic, strong) LuckyGiftWinningFlagViewModel *model;
|
||||
|
||||
@property (nonatomic, strong) UILabel *winLabel;
|
||||
@property (nonatomic, strong) UILabel *winPriceLabel;
|
||||
@property (nonatomic, strong) UILabel *winTimesLabel;
|
||||
|
||||
@property (nonatomic, strong) UIImageView *coinIcon;
|
||||
@property (nonatomic, strong) UIImageView *backgroundImageView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LuckyGiftWinningFlagView
|
||||
|
||||
+ (void)display:(UIView *)superView
|
||||
with:(AttachmentModel *)attachment
|
||||
roomID:(NSInteger)roomID
|
||||
uID:(NSString *)UID
|
||||
{
|
||||
LuckyGiftWinningFlagViewModel *model = [LuckyGiftWinningFlagViewModel modelWithDictionary:attachment.data];
|
||||
if (model.roomId != roomID || model.uid != UID.integerValue) {
|
||||
return;
|
||||
}
|
||||
|
||||
LuckyGiftWinningFlagView *winningFlagView = [[LuckyGiftWinningFlagView alloc] init];
|
||||
winningFlagView.model = model;
|
||||
winningFlagView.alpha = 0;
|
||||
winningFlagView.frame = CGRectMake(0, 0, kGetScaleWidth(162), kGetScaleWidth(162));
|
||||
winningFlagView.center = CGPointMake(superView.center.x, kGetScaleWidth(163) + kGetScaleWidth(162)/2);
|
||||
winningFlagView.transform = CGAffineTransformMakeScale(0.1, 0.1);
|
||||
[superView addSubview:winningFlagView];
|
||||
|
||||
// 使用弹簧动画执行放大动画,alpha从0变为1,带有弹性效果
|
||||
[UIView animateWithDuration:0.8
|
||||
delay:0
|
||||
usingSpringWithDamping:0.3 // 弹性系数,数值越小弹性越强
|
||||
initialSpringVelocity:0.5 // 初始速度
|
||||
options:UIViewAnimationOptionCurveEaseInOut
|
||||
animations:^{
|
||||
winningFlagView.alpha = 1.0;
|
||||
winningFlagView.transform = CGAffineTransformMakeScale(1.0, 1.0); // 还原为正常大小
|
||||
} completion:^(BOOL finished) {
|
||||
// 动画完成后,等待2秒再执行反向动画
|
||||
[UIView animateWithDuration:0.5
|
||||
delay:2.0 // 延迟2秒执行反向动画
|
||||
options:UIViewAnimationOptionCurveEaseInOut
|
||||
animations:^{
|
||||
winningFlagView.alpha = 0.0;
|
||||
winningFlagView.transform = CGAffineTransformMakeScale(0.1, 0.1); // 缩小回原始大小
|
||||
} completion:^(BOOL finished) {
|
||||
// 动画完成后移除 view
|
||||
[winningFlagView removeFromSuperview];
|
||||
}];
|
||||
}];
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self setupUI];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)setupUI {
|
||||
[self addSubview:self.backgroundImageView];
|
||||
[self.backgroundImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self addSubview:self.winLabel];
|
||||
[self.winLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(kGetScaleWidth(40));
|
||||
}];
|
||||
|
||||
UIStackView *stackView = [[UIStackView alloc] init];
|
||||
stackView.spacing = 6;
|
||||
[self addSubview:stackView];
|
||||
[stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.backgroundImageView);
|
||||
make.top.mas_equalTo(self.winLabel.mas_bottom).offset(11);
|
||||
make.height.mas_equalTo(35);
|
||||
}];
|
||||
|
||||
[stackView addArrangedSubview:self.coinIcon];
|
||||
[stackView addArrangedSubview:self.winPriceLabel];
|
||||
|
||||
[self.coinIcon mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(21, 21));
|
||||
}];
|
||||
|
||||
[self.winPriceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(35);
|
||||
}];
|
||||
|
||||
UIStackView *stackView_2 = [[UIStackView alloc] init];
|
||||
stackView_2.spacing = 4;
|
||||
[self addSubview:stackView_2];
|
||||
[stackView_2 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.backgroundImageView);
|
||||
make.top.mas_equalTo(stackView.mas_bottom).offset(11);
|
||||
make.height.mas_equalTo(17);
|
||||
}];
|
||||
|
||||
UILabel *titleLeft = [UILabel labelInitWithText:YMLocalizedString(@"Combo_4") font:kFontRegular(12) textColor:[UIColor whiteColor]];
|
||||
UILabel *titleRight = [UILabel labelInitWithText:YMLocalizedString(@"Combo_9") font:kFontRegular(12) textColor:[UIColor whiteColor]];
|
||||
|
||||
[stackView_2 addArrangedSubview:titleLeft];
|
||||
[stackView_2 addArrangedSubview:self.winTimesLabel];
|
||||
[stackView_2 addArrangedSubview:titleRight];
|
||||
}
|
||||
|
||||
- (void)setModel:(LuckyGiftWinningFlagViewModel *)model {
|
||||
_model = model;
|
||||
self.winPriceLabel.text = model.coins;
|
||||
self.winTimesLabel.text = model.times;
|
||||
self.backgroundImageView.image = model.level == 1 ? kImage(@"luck_gift_gold") : kImage(@"luck_gift_pruple");
|
||||
}
|
||||
|
||||
- (void)display {
|
||||
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
- (UIImageView *)coinIcon {
|
||||
if (!_coinIcon) {
|
||||
_coinIcon = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||
_coinIcon.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _coinIcon;
|
||||
}
|
||||
|
||||
- (UIImageView *)backgroundImageView {
|
||||
if (!_backgroundImageView) {
|
||||
_backgroundImageView = [[UIImageView alloc] initWithImage:kImage(@"luck_gift_gold")];
|
||||
_backgroundImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _backgroundImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)winLabel {
|
||||
if (!_winLabel) {
|
||||
_winLabel = [UILabel labelInitWithText:YMLocalizedString(@"Combo_4") font:kFontSemibold(14) textColor:UIColorFromRGB(0xffe375)];
|
||||
_winLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _winLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)winPriceLabel {
|
||||
if (!_winPriceLabel) {
|
||||
_winPriceLabel = [UILabel labelInitWithText:@"" font:kFontSemibold(26) textColor:UIColorFromRGB(0xffe375)];
|
||||
_winPriceLabel.minimumScaleFactor = 0.5f;
|
||||
}
|
||||
return _winPriceLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)winTimesLabel {
|
||||
if (!_winTimesLabel) {
|
||||
_winTimesLabel = [UILabel labelInitWithText:@"" font:kFontSemibold(14) textColor:UIColorFromRGB(0xffe375)];
|
||||
}
|
||||
return _winTimesLabel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
@@ -20,7 +20,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,assign) BOOL isSvga;
|
||||
@property (nonatomic,strong) PIUniversalBannerModel *model;
|
||||
|
||||
|
||||
@property (nonatomic,weak) id<PIUniversalBannerViewDelegate> delegate;
|
||||
|
||||
@end
|
||||
|
@@ -14,6 +14,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface XPRoomAnimationView : XPRoomAnimationHitView <RoomGuestDelegate>
|
||||
-(void)resumeTimer;
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate;
|
||||
|
||||
- (void)receiveLuckGiftWinning:( AttachmentModel * _Nullable )attachment;
|
||||
- (void)receiveLuckGiftBanner:(AttachmentModel *)attachment ;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -66,6 +66,10 @@
|
||||
#import "PIUniversalBannerModel.h"
|
||||
#import "PIUniversalBannerView.h"
|
||||
|
||||
#import "GiftComboManager.h"
|
||||
#import "LuckyGiftWinningFlagView.h"
|
||||
|
||||
#import "LuckyGiftWinningBannerView.h"
|
||||
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPRoomStarKitchenBannerViewDelegate,PAGViewListener,XPRoomAnchorRankBannerViewDelegate,PIRoomGiftBroadcastWindowDelegate,PIUniversalBannerViewDelegate>
|
||||
///展示的不同层级
|
||||
@@ -154,6 +158,9 @@
|
||||
|
||||
@property (nonatomic, copy) NSString *GiftDynamicEffectListPath;
|
||||
|
||||
@property (nonatomic, strong) NSMutableArray *roomLuckWinningBannerModels;
|
||||
@property (nonatomic, assign) BOOL isDisplayLuckWinningBanner;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPRoomAnimationView
|
||||
@@ -183,6 +190,7 @@
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
|
||||
_roomLuckWinningBannerModels = [NSMutableArray array];
|
||||
_GiftDynamicEffectListPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) xpSafeObjectAtIndex:0] stringByAppendingPathComponent:@"GiftDynamicEffectList"];
|
||||
|
||||
}
|
||||
@@ -268,7 +276,8 @@
|
||||
if (attachment.first == CustomMessageType_Gift) {
|
||||
GiftReceiveInfoModel * receiveInfo = [GiftReceiveInfoModel modelWithJSON:attachment.data];
|
||||
receiveInfo.isLuckyBagGift = attachment.second == Custom_Message_Sub_Gift_LuckySend;
|
||||
receiveInfo.isBatch = YES;
|
||||
receiveInfo.isBatch = (attachment.second == Custom_Message_Sub_AllBatchSend || attachment.second == Custom_Message_Sub_AllBatchMicroLuckySend);
|
||||
receiveInfo.isComboBatch = attachment.second == Custom_Message_Sub_AllMicroSend;
|
||||
[self receiveGiftHandleSendGiftAnimation:attachment];
|
||||
if (receiveInfo.isLuckyBagGift) {
|
||||
if (!self.delegate.getRoomInfo.hasAnimationEffect) {return;}
|
||||
@@ -280,7 +289,6 @@
|
||||
if (luckyGiftSvgaUrl.absoluteString.length > 0) {
|
||||
[self playLuckyGiftEffect:luckyGiftSvgaUrl];
|
||||
}
|
||||
|
||||
}
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self receiveGift:receiveInfo];
|
||||
@@ -291,8 +299,9 @@
|
||||
} else if (attachment.first == CustomMessageType_AllMicroSend) { //发送全麦礼物 或者多人礼物
|
||||
GiftReceiveInfoModel * receiveInfo = [GiftReceiveInfoModel modelWithJSON:attachment.data];
|
||||
receiveInfo.isLuckyBagGift = (attachment.second == Custom_Message_Sub_AllMicroLuckySend || attachment.second == Custom_Message_Sub_AllBatchMicroLuckySend);
|
||||
receiveInfo.isComboBatch = attachment.second == Custom_Message_Sub_AllMicroSend;
|
||||
receiveInfo.isBatch = (attachment.second == Custom_Message_Sub_AllBatchSend || attachment.second == Custom_Message_Sub_AllBatchMicroLuckySend);
|
||||
[self receiveGiftHandleSendGiftAnimation:attachment];
|
||||
[self receiveGiftHandleSendGiftAnimation:attachment];
|
||||
if (receiveInfo.isLuckyBagGift) {
|
||||
if (!self.delegate.getRoomInfo.hasAnimationEffect) {return;}
|
||||
if (receiveInfo.viewUrl.length > 0) {
|
||||
@@ -303,7 +312,6 @@
|
||||
if (luckyGiftSvgaUrl.absoluteString.length > 0) {
|
||||
[self playLuckyGiftEffect:luckyGiftSvgaUrl];
|
||||
}
|
||||
|
||||
}
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self receiveGift:receiveInfo];
|
||||
@@ -354,6 +362,12 @@
|
||||
[self receiveCommonH5Banner:attachment];
|
||||
}else if (attachment.first == CustomMessageType_General_Floating_Screen && attachment.second == Custom_Message_Sub_General_Floating_Screen_One_Room){
|
||||
[self receiveRoomGeneralFloatingScreen:attachment];
|
||||
} else if (attachment.first == CustomMessageType_Super_Gift &&
|
||||
attachment.second == Custom_Message_Sub_Super_Gift_Winning_Coins) {
|
||||
[self receiveLuckGiftWinning:attachment];
|
||||
} else if (attachment.first == CustomMessageType_Super_Gift &&
|
||||
attachment.second == Custom_Message_Sub_Super_Gift_Winning_Coins_ALL_Room) {
|
||||
[self receiveLuckGiftBanner:attachment];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -375,23 +389,69 @@
|
||||
[self userEnterRoom:content ext:extModel];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 收到送礼者中奖飘屏
|
||||
- (void)receiveLuckGiftWinning:(AttachmentModel *)attachment {
|
||||
|
||||
RoomInfoModel *roomInfo = self.delegate.getRoomInfo;
|
||||
|
||||
[LuckyGiftWinningFlagView display:self
|
||||
with:attachment
|
||||
roomID:roomInfo.roomId
|
||||
uID:[AccountInfoStorage instance].getUid];
|
||||
}
|
||||
|
||||
- (void)receiveLuckGiftBanner:(AttachmentModel *)attachment {
|
||||
[self.roomLuckWinningBannerModels addObject:attachment];
|
||||
if (!self.isDisplayLuckWinningBanner) {
|
||||
[self processNextLuckWinningAttachment];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)processNextLuckWinningAttachment {
|
||||
// 检查队列是否有元素
|
||||
if (self.roomLuckWinningBannerModels.count == 0) {
|
||||
// 如果队列为空,停止处理
|
||||
self.isDisplayLuckWinningBanner = NO;
|
||||
return;
|
||||
}
|
||||
|
||||
// 从队列中取出第一个元素并移出队列
|
||||
AttachmentModel *nextAttachment = [self.roomLuckWinningBannerModels firstObject];
|
||||
[self.roomLuckWinningBannerModels removeObjectAtIndex:0];
|
||||
|
||||
// 设置为正在显示的状态
|
||||
self.isDisplayLuckWinningBanner = YES;
|
||||
RoomInfoModel *roomInfo = self.delegate.getRoomInfo;
|
||||
// 执行 display 方法
|
||||
@kWeakify(self);
|
||||
[LuckyGiftWinningBannerView display:self inRoomUid:roomInfo.uid with:nextAttachment complete:^{
|
||||
@kStrongify(self);
|
||||
// Display 完成后,继续处理下一个
|
||||
[self processNextLuckWinningAttachment];
|
||||
} exitCurrentRoom:^{
|
||||
@kStrongify(self);
|
||||
[self.delegate exitRoom];
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - 收到通用飘屏
|
||||
-(void)receiveRoomGeneralFloatingScreen:(AttachmentModel *)attacment{
|
||||
-(void)receiveRoomGeneralFloatingScreen:(AttachmentModel *)attachment{
|
||||
PIBaseAnimationViewModel *roomGraffiti = [PIBaseAnimationViewModel new];
|
||||
roomGraffiti.data = attacment.data;
|
||||
roomGraffiti.data = attachment.data;
|
||||
roomGraffiti.type = GiftBannerType_General_Floating_Screen;
|
||||
roomGraffiti.first = attacment.first;
|
||||
roomGraffiti.second = attacment.second;
|
||||
roomGraffiti.first = attachment.first;
|
||||
roomGraffiti.second = attachment.second;
|
||||
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
|
||||
[self createGeneralFloatingScreenAnimation:roomGraffiti];
|
||||
}
|
||||
[self.animationListB addObject:roomGraffiti];
|
||||
}
|
||||
- (void)createGeneralFloatingScreenAnimation:(PIBaseAnimationViewModel *)attacment{
|
||||
- (void)createGeneralFloatingScreenAnimation:(PIBaseAnimationViewModel *)attachment{
|
||||
self.isPlayOfB = YES;
|
||||
CGFloat top = self.isPlayOfA == YES ? (self.broadCastHieght + statusbarHeight) : (kNavigationHeight + 15);
|
||||
|
||||
PIUniversalBannerModel *model = [PIUniversalBannerModel modelWithDictionary:attacment.data];
|
||||
PIUniversalBannerModel *model = [PIUniversalBannerModel modelWithDictionary:attachment.data];
|
||||
BOOL isSvga = [model.resourceType.uppercaseString isEqualToString:@"SVGA"];
|
||||
__block PIUniversalBannerView *bannerView;
|
||||
@kWeakify(self);
|
||||
@@ -1500,8 +1560,18 @@
|
||||
}
|
||||
endPoint = [self getGiftAnimationPoint:userId isEnd:YES];
|
||||
dispatch_time_t timer = dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC);
|
||||
|
||||
BOOL isCombing = [[GiftComboManager sharedManager] isGiftCombing] &&
|
||||
[sendUid isEqualToString:[AccountInfoStorage instance].getUid];
|
||||
|
||||
if (isCombing) {
|
||||
timer = dispatch_time(DISPATCH_TIME_NOW, 0.25 * NSEC_PER_SEC);
|
||||
}
|
||||
dispatch_after(timer, dispatch_get_main_queue(), ^{
|
||||
[self beginGiftAnimation:giftInfo.giftUrl startPoint:starPoint endPoint:endPoint];
|
||||
[self beginGiftAnimation:giftInfo.giftUrl
|
||||
startPoint:starPoint
|
||||
endPoint:endPoint
|
||||
isGiftCombing:isCombing];
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1517,10 +1587,28 @@
|
||||
point = CGPointMake([UIScreen mainScreen].bounds.size.width / 2, 44 + kSafeAreaTopHeight);
|
||||
}
|
||||
}
|
||||
|
||||
if ([[GiftComboManager sharedManager] isGiftCombing] &&
|
||||
[uid isEqualToString:[AccountInfoStorage instance].getUid] &&
|
||||
isEnd == false) {
|
||||
if (isMSRTL()) {
|
||||
point = CGPointMake(kGetScaleWidth(86), [UIScreen mainScreen].bounds.size.height - kSafeAreaTopHeight - kGetScaleWidth(140));
|
||||
} else {
|
||||
if (KScreenWidth <= 375) {
|
||||
point = CGPointMake(kGetScaleWidth([UIScreen mainScreen].bounds.size.width - kGetScaleWidth(86)), [UIScreen mainScreen].bounds.size.height - kSafeAreaBottomHeight - kGetScaleWidth(140));
|
||||
} else {
|
||||
point = CGPointMake(kGetScaleWidth([UIScreen mainScreen].bounds.size.width - kGetScaleWidth(150)), [UIScreen mainScreen].bounds.size.height - kSafeAreaBottomHeight - kGetScaleWidth(140));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return point;
|
||||
}
|
||||
|
||||
- (void)beginGiftAnimation:(NSString *)giftUrl startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint {
|
||||
- (void)beginGiftAnimation:(NSString *)giftUrl
|
||||
startPoint:(CGPoint)startPoint
|
||||
endPoint:(CGPoint)endPoint
|
||||
isGiftCombing:(BOOL)isGiftCombing {
|
||||
NetImageView * giftImageView = [self.giftReuseArray anyObject];
|
||||
if (giftImageView == nil) {
|
||||
giftImageView = [[NetImageView alloc]initWithFrame:CGRectMake(0, 0 , 55, 55)];
|
||||
@@ -1535,15 +1623,65 @@
|
||||
giftImageView.hidden = NO;
|
||||
giftImageView.imageUrl = giftUrl;
|
||||
[self.lowLevelView addSubview:giftImageView];
|
||||
|
||||
CGFloat delay = 3.2;
|
||||
CAAnimationGroup *group = [self createGiftAnimationStartPoint:startPoint endPoint:endPoint];
|
||||
if (isGiftCombing) {
|
||||
delay = 1.0;
|
||||
group = [self createGiftComboAnimationStartPoint:startPoint endPoint:endPoint];
|
||||
}
|
||||
// 确保视图在动画开始前设置到 startPoint 位置
|
||||
giftImageView.layer.position = startPoint;
|
||||
[giftImageView.layer addAnimation:group forKey:@"giftDisplayViewAnimation"];
|
||||
[self performSelector:@selector(aniationDidFinish:) withObject:giftImageView afterDelay:(3.2+0.25)];
|
||||
[self performSelector:@selector(aniationDidFinish:) withObject:giftImageView afterDelay:(delay+0.25)];
|
||||
}
|
||||
|
||||
- (CAAnimationGroup *)createGiftComboAnimationStartPoint:(CGPoint)startPoint
|
||||
endPoint:(CGPoint)endPoint {
|
||||
// 缩放动画1: 动画开始时缩放至 0.4
|
||||
CAKeyframeAnimation *scaleAnimation1 = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
|
||||
scaleAnimation1.duration = 0.1;
|
||||
scaleAnimation1.values = @[@1.0, @0.4];
|
||||
scaleAnimation1.repeatCount = 1;
|
||||
scaleAnimation1.calculationMode = kCAAnimationCubic;
|
||||
scaleAnimation1.removedOnCompletion = NO;
|
||||
scaleAnimation1.fillMode = kCAFillModeForwards;
|
||||
|
||||
// 位移动画: 0.5秒内从起点移动到目标点
|
||||
CAKeyframeAnimation *positionAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
|
||||
positionAnimation.duration = 0.5;
|
||||
positionAnimation.beginTime = 0.1; // 缩放结束后开始位移
|
||||
positionAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
|
||||
positionAnimation.values = @[[NSValue valueWithCGPoint:startPoint], [NSValue valueWithCGPoint:endPoint]];
|
||||
positionAnimation.repeatCount = 1;
|
||||
positionAnimation.removedOnCompletion = NO;
|
||||
positionAnimation.fillMode = kCAFillModeForwards;
|
||||
|
||||
// 缩放动画2: 在位移的过程中逐渐变大到 1.2
|
||||
CAKeyframeAnimation *scaleAnimation2 = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
|
||||
scaleAnimation2.duration = 0.5;
|
||||
scaleAnimation2.beginTime = 0.1; // 同时与位移动画进行
|
||||
scaleAnimation2.values = @[@0.4, @2];
|
||||
scaleAnimation2.repeatCount = 1;
|
||||
scaleAnimation2.calculationMode = kCAAnimationCubic;
|
||||
scaleAnimation2.removedOnCompletion = NO;
|
||||
scaleAnimation2.fillMode = kCAFillModeForwards;
|
||||
|
||||
// 创建动画组
|
||||
CAAnimationGroup *group = [CAAnimationGroup animation];
|
||||
group.duration = 0.6; // 总时间为 0.1 (缩放) + 0.5 (位移与缩放)
|
||||
group.animations = @[scaleAnimation1, positionAnimation, scaleAnimation2];
|
||||
group.repeatCount = 1;
|
||||
group.removedOnCompletion = NO;
|
||||
group.fillMode = kCAFillModeForwards;
|
||||
|
||||
return group;
|
||||
}
|
||||
|
||||
/// 图片运动的动画组
|
||||
/// @param startPoint 开始的点
|
||||
/// @param endPoint 结束的点
|
||||
- (CAAnimationGroup *)createGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint{
|
||||
- (CAAnimationGroup *)createGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint {
|
||||
CGPoint centerPoint = CGPointMake(KScreenWidth / 2, KScreenHeight / 2);
|
||||
CAKeyframeAnimation *animation0 = [CAKeyframeAnimation animation];
|
||||
animation0.duration = 0.8;
|
||||
@@ -1563,8 +1701,7 @@
|
||||
animation1.calculationMode = kCAAnimationCubic;
|
||||
animation1.removedOnCompletion = NO;
|
||||
animation1.fillMode = kCAFillModeForwards;
|
||||
|
||||
|
||||
|
||||
CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animation];
|
||||
animation2.duration = 0.8;
|
||||
animation2.beginTime = 0.8;
|
||||
@@ -1853,11 +1990,53 @@
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 连击效果
|
||||
- (void)receiveCombo:(GiftReceiveInfoModel *)receiveInfo {
|
||||
[[GiftComboManager sharedManager] receiveGiftInfoForDisplayComboFlags:receiveInfo
|
||||
container:self];
|
||||
}
|
||||
|
||||
- (void)startAnimation:(UIView *)animatedView {
|
||||
// 计算屏幕左边的目标位置
|
||||
CGFloat leftPosition = -animatedView.frame.size.width;
|
||||
|
||||
// 动画步骤1:从屏幕右边移入屏幕中间
|
||||
[UIView animateWithDuration:0.25
|
||||
delay:0
|
||||
options:UIViewAnimationOptionCurveEaseInOut
|
||||
animations:^{
|
||||
// 将视图移动到屏幕的中间左侧位置
|
||||
animatedView.center = CGPointMake(self.bounds.size.width / 2, self.bounds.size.height / 2);
|
||||
} completion:^(BOOL finished) {
|
||||
// 停顿 2 秒后,继续动画移出屏幕左侧
|
||||
[self continueAnimationToLeft:leftPosition view:animatedView];
|
||||
}];
|
||||
}
|
||||
|
||||
// 动画步骤2:移出到屏幕左边
|
||||
- (void)continueAnimationToLeft:(CGFloat)leftPosition view:(UIView *)animatedView {
|
||||
// 停顿 2 秒后开始动画
|
||||
[UIView animateWithDuration:0.25
|
||||
delay:500.0
|
||||
options:UIViewAnimationOptionCurveEaseInOut
|
||||
animations:^{
|
||||
// 将视图移出屏幕左侧
|
||||
animatedView.center = CGPointMake(leftPosition, self.bounds.size.height / 2);
|
||||
} completion:^(BOOL finished) {
|
||||
// 移除视图,释放内存
|
||||
[animatedView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - 普通礼物
|
||||
///收到了礼物
|
||||
- (void)receiveGift:(GiftReceiveInfoModel *)receiveInfo {
|
||||
if ([self isInSudGame]) {return;}
|
||||
if(receiveInfo.isHomeShow == YES)return;
|
||||
if ([self isInSudGame] || receiveInfo.isHomeShow == YES) {
|
||||
return;
|
||||
}
|
||||
|
||||
[self receiveCombo:receiveInfo];
|
||||
|
||||
///CPU警告的时候 需要停止接收动画
|
||||
RoomInfoModel * roomInfo = [self.delegate getRoomInfo];
|
||||
if (receiveInfo.isLuckyBagGift) {
|
||||
|
@@ -679,7 +679,7 @@
|
||||
}
|
||||
|
||||
- (void)updateContributeEnterViewTitle:(AttachmentModel *)attachment {
|
||||
if (attachment.first == 111 && attachment.second == 1110) {
|
||||
if (attachment.first == CustomMessageType_MoneyFlow && attachment.second == Custom_Message_Sub_Money_Flow) {
|
||||
NSNumber *num = [attachment.data objectForKey:@"serialValue"];
|
||||
if (num) {
|
||||
self.contributeEnterView.title = num.stringValue;
|
||||
|
@@ -44,7 +44,6 @@
|
||||
- (void)initSubViewConstraints {
|
||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.bottom.trailing.leading.equalTo(self);
|
||||
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -114,8 +113,6 @@ BOOL isNumeric(NSString *string) {
|
||||
return _bgView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (UIImageView *)iconImageView {
|
||||
if (_iconImageView == nil) {
|
||||
_iconImageView = [[UIImageView alloc] init];
|
||||
|
@@ -165,7 +165,7 @@
|
||||
- (UIImageView *)coinImageView {
|
||||
if (!_coinImageView) {
|
||||
_coinImageView = [[UIImageView alloc] init];
|
||||
_coinImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_coinImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _coinImageView;
|
||||
}
|
||||
|
@@ -248,7 +248,7 @@
|
||||
NSString *getPrice = @(self.price.integerValue * self.loveNum.integerValue).stringValue;
|
||||
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %@",getPrice] attributes:@{NSFontAttributeName:self.numView.font,NSForegroundColorAttributeName:UIColorFromRGB(0xFF9A1F)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(self.numView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
attachment.image = iconImage;
|
||||
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:0];
|
||||
|
@@ -145,7 +145,7 @@
|
||||
- (UIImageView *)diamondsImage{
|
||||
if(!_diamondsImage){
|
||||
_diamondsImage = [UIImageView new];
|
||||
_diamondsImage.image = kImage(@"exchange_gold_icon");
|
||||
_diamondsImage.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _diamondsImage;
|
||||
}
|
||||
|
@@ -4,9 +4,6 @@
|
||||
//
|
||||
// Created by duoban on 2024/5/10.
|
||||
//
|
||||
#import <JXCategoryView/JXCategoryView.h>
|
||||
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
|
||||
#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
#import "MsRoomMessageMainView.h"
|
||||
#import "XPRoomMessageContainerView.h"
|
||||
#import "ClientConfig.h"
|
||||
@@ -15,13 +12,8 @@
|
||||
#import "Api+Message.h"
|
||||
#import "AttachmentModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
@interface MsRoomMessageMainView()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPRoomMessageContainerViewDelegate>
|
||||
///分页标题
|
||||
@property (nonatomic, strong) NSArray<NSString *> *titles;
|
||||
///分页控件
|
||||
@property (nonatomic, strong) JXCategoryTitleView *titleView;
|
||||
///分页lineView
|
||||
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
|
||||
@interface MsRoomMessageMainView()<XPRoomMessageContainerViewDelegate>
|
||||
|
||||
@property(nonatomic,strong) XPRoomMessageContainerView *roomView;
|
||||
|
||||
///房间的代理
|
||||
@@ -32,43 +24,29 @@
|
||||
|
||||
@implementation MsRoomMessageMainView
|
||||
|
||||
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.hostDelegate = delegate;
|
||||
|
||||
// TODO: 处理连击飘屏
|
||||
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self addSubview:self.titleView];
|
||||
[self addSubview:self.pi_containerView];
|
||||
[self addSubview:self.roomView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.leading.mas_equalTo(kGetScaleWidth(0));
|
||||
make.width.mas_equalTo(150);
|
||||
make.height.mas_equalTo(kGetScaleWidth(30));
|
||||
}];
|
||||
|
||||
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.bottom.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.titleView.mas_bottom).offset(8);
|
||||
[self.roomView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self);
|
||||
}];
|
||||
}
|
||||
- (void)showUserCard:(NSInteger)uid{
|
||||
[self.roomView showUserCard:uid];
|
||||
}
|
||||
#pragma mark - JXCategoryViewDelegate
|
||||
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
|
||||
return self.titles.count;
|
||||
}
|
||||
|
||||
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
|
||||
return self.roomView;
|
||||
}
|
||||
|
||||
#pragma mark - RoomGuestDelegate
|
||||
- (void)handleNIMCustomMessage:(NIMMessage *)message {
|
||||
@@ -126,51 +104,9 @@
|
||||
|
||||
#pragma mark - 懒加载
|
||||
- (NSInteger)type{
|
||||
return self.titleView.selectedIndex;
|
||||
}
|
||||
- (JXCategoryTitleView *)titleView {
|
||||
if (!_titleView) {
|
||||
_titleView = [[JXCategoryTitleView alloc] init];
|
||||
_titleView.delegate = self;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.backgroundColor = [UIColor clearColor];
|
||||
_titleView.titleColor = [UIColor colorWithWhite:1 alpha:0.6];
|
||||
_titleView.titleSelectedColor = UIColorFromRGB(0xFFFFFF);
|
||||
_titleView.titleFont = [UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
|
||||
_titleView.titleSelectedFont = [UIFont systemFontOfSize:13 weight:UIFontWeightMedium];
|
||||
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
|
||||
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.cellSpacing = 20;
|
||||
_titleView.cellWidthIncrement = 5;
|
||||
_titleView.cellWidth = 30;
|
||||
_titleView.listContainer = self.pi_containerView;
|
||||
|
||||
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
|
||||
lineView.indicatorImageViewSize = CGSizeMake(8, 1.5);
|
||||
lineView.verticalMargin = 0;
|
||||
lineView.indicatorImageView.image = [UIImage imageWithColor:UIColorFromRGB(0x10ECD6) size:CGSizeMake(8, 1.5)];
|
||||
lineView.indicatorImageView.layer.masksToBounds = YES;
|
||||
lineView.indicatorImageView.layer.cornerRadius = 1.5/2;
|
||||
_titleView.indicators = @[lineView];
|
||||
}
|
||||
return _titleView;
|
||||
return 0;
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)titles{
|
||||
if(!_titles){
|
||||
_titles = @[YMLocalizedString(@"XPMineMainGuildListVC1")];
|
||||
}
|
||||
return _titles;
|
||||
}
|
||||
- (JXCategoryListContainerView *)pi_containerView {
|
||||
if (!_pi_containerView) {
|
||||
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
|
||||
_pi_containerView.defaultSelectedIndex = 0;
|
||||
_pi_containerView.scrollView.tag = 1009;
|
||||
}
|
||||
return _pi_containerView;
|
||||
}
|
||||
- (XPRoomMessageContainerView *)roomView{
|
||||
if(!_roomView){
|
||||
_roomView = [[XPRoomMessageContainerView alloc] initWithDelegate:self.hostDelegate];
|
||||
|
@@ -174,7 +174,7 @@
|
||||
- (UIImageView *)diamondView{
|
||||
if(!_diamondView){
|
||||
_diamondView = [UIImageView new];
|
||||
_diamondView.image = kImage(@"exchange_gold_icon");
|
||||
_diamondView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _diamondView;
|
||||
}
|
||||
|
@@ -94,7 +94,7 @@
|
||||
_giftNameVeiw.text = _albumModel.giftName;
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:_albumModel.totalGoldPrice attributes:@{NSFontAttributeName:kFontRegular(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(_giftNumView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
|
||||
attachment.image =iconImage;
|
||||
@@ -153,7 +153,7 @@
|
||||
_giftNumView.textAlignment = NSTextAlignmentCenter;
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:@"0" attributes:@{NSFontAttributeName:kFontRegular(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(_giftNumView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
|
||||
attachment.image =iconImage;
|
||||
|
@@ -141,7 +141,7 @@
|
||||
- (UIImageView *)coinView{
|
||||
if(!_coinView){
|
||||
_coinView = [UIImageView new];
|
||||
_coinView.image = kImage(@"ms_room_game_victory_coin");
|
||||
_coinView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _coinView;
|
||||
}
|
||||
|
@@ -227,7 +227,7 @@
|
||||
- (UIImageView *)coinView{
|
||||
if(!_coinView){
|
||||
_coinView = [UIImageView new];
|
||||
_coinView.image = kImage(@"ms_room_game_underwa_coin");
|
||||
_coinView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _coinView;
|
||||
}
|
||||
|
@@ -133,7 +133,7 @@
|
||||
- (UIImageView *)coinImageView{
|
||||
if(!_coinImageView){
|
||||
_coinImageView = [UIImageView new];
|
||||
_coinImageView.image = kImage(@"ms_room_game_begin_coin");
|
||||
_coinImageView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _coinImageView;
|
||||
}
|
||||
|
@@ -114,7 +114,7 @@
|
||||
- (UIImageView *)iconView{
|
||||
if(!_iconView){
|
||||
_iconView = [UIImageView new];
|
||||
_iconView.image = kImage(@"ms_room_game_coin_icon");
|
||||
_iconView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _iconView;
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@
|
||||
_giftNameVeiw.text = _giftModel.giftName;
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:@(_giftModel.goldPrice).stringValue attributes:@{NSFontAttributeName:kFontRegular(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(_giftNumView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
|
||||
attachment.image =iconImage;
|
||||
@@ -90,7 +90,7 @@
|
||||
_giftNumView.textAlignment = NSTextAlignmentCenter;
|
||||
NSMutableAttributedString *numText = [[NSMutableAttributedString alloc]initWithString:@"0" attributes:@{NSFontAttributeName:kFontRegular(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)}];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"moli_money_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(_giftNumView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
|
||||
|
||||
attachment.image =iconImage;
|
||||
|
@@ -161,7 +161,7 @@
|
||||
- (UIImageView *)diamondView{
|
||||
if(!_diamondView){
|
||||
_diamondView = [UIImageView new];
|
||||
_diamondView.image = kImage(@"exchange_gold_icon");
|
||||
_diamondView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _diamondView;
|
||||
}
|
||||
|
@@ -141,7 +141,7 @@
|
||||
- (UIImageView *)diamondView{
|
||||
if(!_diamondView){
|
||||
_diamondView = [UIImageView new];
|
||||
_diamondView.image = kImage(@"exchange_gold_icon");
|
||||
_diamondView.image = kImage(@"moli_money_icon");
|
||||
}
|
||||
return _diamondView;
|
||||
}
|
||||
|
@@ -160,7 +160,7 @@
|
||||
if (!_diamondImageView) {
|
||||
_diamondImageView = [[UIImageView alloc] init];
|
||||
_diamondImageView.userInteractionEnabled = YES;
|
||||
_diamondImageView.image = [UIImage imageNamed:@"exchange_gold_icon"];
|
||||
_diamondImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||
}
|
||||
return _diamondImageView;
|
||||
}
|
||||
|
65
YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager.h
Normal file
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// GiftComboManager.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by P on 2024/9/5.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "GiftInfoModel.h"
|
||||
#import "GiftComboView.h"
|
||||
|
||||
@class GiftReceiveInfoModel, UserInfoModel, GiftReceiveInfoModel, XPGiftCountModel;
|
||||
|
||||
typedef enum : NSUInteger {
|
||||
ComboAction_ShowPanel,
|
||||
ComboAction_RemovePanel,
|
||||
ComboAction_Error,
|
||||
ComboAction_Combo_Count_Update,
|
||||
} ComboActionType;
|
||||
|
||||
typedef enum : NSUInteger {
|
||||
ComboFlagAction_,
|
||||
// ComboAction_RemovePanel,
|
||||
// ComboAction_Combo_Count_Update,
|
||||
} ComboFlagActionType;
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface GiftComboManager : NSObject
|
||||
|
||||
// 单例方法
|
||||
+ (instancetype)sharedManager;
|
||||
|
||||
- (void)registerActions:(void(^ _Nullable)(ComboActionType type))action;
|
||||
|
||||
- (void)saveSendGiftTo:(NSArray *)UIDs;
|
||||
- (void)saveGiftSourceType:(GiftSourceType)type;
|
||||
- (void)saveSendGiftInfo:(GiftInfoModel *)model;
|
||||
- (void)saveSendGiftType:(RoomSendGiftType)type;
|
||||
- (void)saveRoomUID:(NSString *)roomUID;
|
||||
- (void)saveSendGiftNum:(NSString *)numString;
|
||||
- (void)saveUserInfo:(UserInfoModel *)userInfo;
|
||||
- (void)saveSessionID:(NSString *)sessionID;
|
||||
- (void)saveGiftCountModel:(XPGiftCountModel *)model;
|
||||
|
||||
- (void)resetCombo;
|
||||
- (void)sendGift;
|
||||
- (void)forceRemove;
|
||||
|
||||
// 第一个 combo 由 send gift view 发起,需要手动 combo + 1
|
||||
- (NSInteger)loadComboCountFromSendGiftView;
|
||||
- (NSInteger)loadComboCount;
|
||||
- (NSInteger)loadTotalGiftNum;
|
||||
- (BOOL)isGiftCombing;
|
||||
|
||||
- (NSString *)loadErrorMessage;
|
||||
|
||||
- (void)receiveGiftInfoForDisplayComboFlags:(GiftReceiveInfoModel *)receiveInfo
|
||||
container:(UIView *)container;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|