星级厨房横幅
This commit is contained in:
@@ -424,6 +424,9 @@
|
||||
E80DE40A277568D300BE5BCB /* ThemeColor+FirstRecharge.m in Sources */ = {isa = PBXBuildFile; fileRef = E80DE409277568D300BE5BCB /* ThemeColor+FirstRecharge.m */; };
|
||||
E80DE40D2775ABA500BE5BCB /* XPFirstRechargeFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = E80DE40C2775ABA500BE5BCB /* XPFirstRechargeFlowLayout.m */; };
|
||||
E80DE4102775C34E00BE5BCB /* XPFirstRechargeSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80DE40F2775C34E00BE5BCB /* XPFirstRechargeSuccessView.m */; };
|
||||
E80E236F299A195F0013FD40 /* XPStarredKitchenGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80E236E299A195F0013FD40 /* XPStarredKitchenGiftView.m */; };
|
||||
E80E2372299A1C380013FD40 /* XPStarredKitchenModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80E2371299A1C380013FD40 /* XPStarredKitchenModel.m */; };
|
||||
E80E2374299A20050013FD40 /* starred_kitchen_bg.svga in Resources */ = {isa = PBXBuildFile; fileRef = E80E2373299A20050013FD40 /* starred_kitchen_bg.svga */; };
|
||||
E80E900C27E0358900434B90 /* XPRoomTopicAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80E900B27E0358900434B90 /* XPRoomTopicAlertView.m */; };
|
||||
E80EC80A28ACD84000D133C5 /* QEmotionBoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80EC74C28ACD84000D133C5 /* QEmotionBoardView.m */; };
|
||||
E80EC80B28ACD84000D133C5 /* QInputBarViewConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = E80EC74E28ACD84000D133C5 /* QInputBarViewConfiguration.m */; };
|
||||
@@ -710,7 +713,6 @@
|
||||
E8395339276A0CC100CF2F24 /* XPMineHeadwearTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8395338276A0CC100CF2F24 /* XPMineHeadwearTableViewCell.m */; };
|
||||
E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E839533B276A0CCD00CF2F24 /* XPMineCarTableViewCell.m */; };
|
||||
E839533F276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E839533E276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m */; };
|
||||
E839806829027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga in Resources */ = {isa = PBXBuildFile; fileRef = E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */; };
|
||||
E839806B290288660084BFC8 /* XPMessageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E839806A290288660084BFC8 /* XPMessageInfoModel.m */; };
|
||||
E83ABEF6280E9AD800322EE4 /* MessageContentUnSupportView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF5280E9AD800322EE4 /* MessageContentUnSupportView.m */; };
|
||||
E83ABEF9280EAF3F00322EE4 /* MessageContentOpenLiveView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF8280EAF3F00322EE4 /* MessageContentOpenLiveView.m */; };
|
||||
@@ -1075,6 +1077,7 @@
|
||||
E8AEAEF027141C430017FCE0 /* XPRoomMenuContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEEF27141C430017FCE0 /* XPRoomMenuContainerView.m */; };
|
||||
E8AEAEF327141C7C0017FCE0 /* XPRoomMessageContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF227141C7C0017FCE0 /* XPRoomMessageContainerView.m */; };
|
||||
E8AEAEF927141CA30017FCE0 /* RoomHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF827141CA30017FCE0 /* RoomHeaderView.m */; };
|
||||
E8B2B5C129C9C96000C7AD19 /* room_wish_gift_sendCelebrate.svga in Resources */ = {isa = PBXBuildFile; fileRef = E8B2B5C029C9C95F00C7AD19 /* room_wish_gift_sendCelebrate.svga */; };
|
||||
E8B3E7FE28489232009746AB /* XPNewUserGreetRoomAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E7FD28489232009746AB /* XPNewUserGreetRoomAlertView.m */; };
|
||||
E8B3E8092848B871009746AB /* InviteUserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E8082848B871009746AB /* InviteUserInfoModel.m */; };
|
||||
E8B3E80C2848BA40009746AB /* NewUserGreetModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E80B2848BA40009746AB /* NewUserGreetModel.m */; };
|
||||
@@ -2139,6 +2142,11 @@
|
||||
E80DE40C2775ABA500BE5BCB /* XPFirstRechargeFlowLayout.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPFirstRechargeFlowLayout.m; sourceTree = "<group>"; };
|
||||
E80DE40E2775C34E00BE5BCB /* XPFirstRechargeSuccessView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPFirstRechargeSuccessView.h; sourceTree = "<group>"; };
|
||||
E80DE40F2775C34E00BE5BCB /* XPFirstRechargeSuccessView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPFirstRechargeSuccessView.m; sourceTree = "<group>"; };
|
||||
E80E236D299A195F0013FD40 /* XPStarredKitchenGiftView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPStarredKitchenGiftView.h; sourceTree = "<group>"; };
|
||||
E80E236E299A195F0013FD40 /* XPStarredKitchenGiftView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPStarredKitchenGiftView.m; sourceTree = "<group>"; };
|
||||
E80E2370299A1C380013FD40 /* XPStarredKitchenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPStarredKitchenModel.h; sourceTree = "<group>"; };
|
||||
E80E2371299A1C380013FD40 /* XPStarredKitchenModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPStarredKitchenModel.m; sourceTree = "<group>"; };
|
||||
E80E2373299A20050013FD40 /* starred_kitchen_bg.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = starred_kitchen_bg.svga; sourceTree = "<group>"; };
|
||||
E80E900A27E0358900434B90 /* XPRoomTopicAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTopicAlertView.h; sourceTree = "<group>"; };
|
||||
E80E900B27E0358900434B90 /* XPRoomTopicAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomTopicAlertView.m; sourceTree = "<group>"; };
|
||||
E80EC74C28ACD84000D133C5 /* QEmotionBoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QEmotionBoardView.m; sourceTree = "<group>"; };
|
||||
@@ -2544,7 +2552,6 @@
|
||||
E839533B276A0CCD00CF2F24 /* XPMineCarTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineCarTableViewCell.m; sourceTree = "<group>"; };
|
||||
E839533D276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineNameplateTableViewCell.h; sourceTree = "<group>"; };
|
||||
E839533E276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineNameplateTableViewCell.m; sourceTree = "<group>"; };
|
||||
E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = room_wish_gift_sendCelebrate.svga; sourceTree = "<group>"; };
|
||||
E8398069290288660084BFC8 /* XPMessageInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMessageInfoModel.h; sourceTree = "<group>"; };
|
||||
E839806A290288660084BFC8 /* XPMessageInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMessageInfoModel.m; sourceTree = "<group>"; };
|
||||
E83ABEF4280E9AD800322EE4 /* MessageContentUnSupportView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentUnSupportView.h; sourceTree = "<group>"; };
|
||||
@@ -3286,6 +3293,7 @@
|
||||
E8AEAEF227141C7C0017FCE0 /* XPRoomMessageContainerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMessageContainerView.m; sourceTree = "<group>"; };
|
||||
E8AEAEF727141CA30017FCE0 /* RoomHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomHeaderView.h; sourceTree = "<group>"; };
|
||||
E8AEAEF827141CA30017FCE0 /* RoomHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomHeaderView.m; sourceTree = "<group>"; };
|
||||
E8B2B5C029C9C95F00C7AD19 /* room_wish_gift_sendCelebrate.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = room_wish_gift_sendCelebrate.svga; sourceTree = "<group>"; };
|
||||
E8B3E7FC28489232009746AB /* XPNewUserGreetRoomAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewUserGreetRoomAlertView.h; sourceTree = "<group>"; };
|
||||
E8B3E7FD28489232009746AB /* XPNewUserGreetRoomAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewUserGreetRoomAlertView.m; sourceTree = "<group>"; };
|
||||
E8B3E8072848B871009746AB /* InviteUserInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InviteUserInfoModel.h; sourceTree = "<group>"; };
|
||||
@@ -6445,6 +6453,8 @@
|
||||
9BC9DAEE27E33B3F009EE409 /* XPRoomGiftAnimationParser.m */,
|
||||
F1D8556D2931FC86008C418F /* XPRoomYearActivityView.h */,
|
||||
F1D8556E2931FC86008C418F /* XPRoomYearActivityView.m */,
|
||||
E80E236D299A195F0013FD40 /* XPStarredKitchenGiftView.h */,
|
||||
E80E236E299A195F0013FD40 /* XPStarredKitchenGiftView.m */,
|
||||
);
|
||||
path = AnimationView;
|
||||
sourceTree = "<group>";
|
||||
@@ -6594,6 +6604,8 @@
|
||||
E86F6184284F4E4800E8EC9A /* RoomHalfHourRankModel.m */,
|
||||
9B8DE0DF289CF02900FB6EC2 /* XPGiftCompoundModel.h */,
|
||||
9B8DE0E0289CF02900FB6EC2 /* XPGiftCompoundModel.m */,
|
||||
E80E2370299A1C380013FD40 /* XPStarredKitchenModel.h */,
|
||||
E80E2371299A1C380013FD40 /* XPStarredKitchenModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -7555,12 +7567,13 @@
|
||||
E8A1E45C276220B100B294CA /* Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8B2B5C029C9C95F00C7AD19 /* room_wish_gift_sendCelebrate.svga */,
|
||||
1497CCE229C1E1FB0015D135 /* sailing_prize_cowry.svga */,
|
||||
1497CCE329C1E1FB0015D135 /* sailing_prize.svga */,
|
||||
14A0CF3A29C014B400B2375A /* moment_living.svga */,
|
||||
14B65C6A29BF439E00EC02EF /* home_living.svga */,
|
||||
E887531529BB1B4F0017A41A /* candy_tree.mp4 */,
|
||||
E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */,
|
||||
E80E2373299A20050013FD40 /* starred_kitchen_bg.svga */,
|
||||
9B8DE0E7289CFE8100FB6EC2 /* compound_gift_banner.svga */,
|
||||
E852D7372862C615001465ED /* room_lucky_gift_bg.svga */,
|
||||
145EC95B29C86A0B003D69B1 /* login_logo.svga */,
|
||||
@@ -9369,6 +9382,7 @@
|
||||
E80EC85C28ACD84000D133C5 /* emoji_77@2x.png in Resources */,
|
||||
E8937AC7276C3EDE00B2C7E1 /* svga_member_in_lv40.svga in Resources */,
|
||||
E80EC85528ACD84000D133C5 /* emoji_118@2x.png in Resources */,
|
||||
E80E2374299A20050013FD40 /* starred_kitchen_bg.svga in Resources */,
|
||||
E80EC8B728ACD84100D133C5 /* emoji_119@2x.png in Resources */,
|
||||
E80EC86228ACD84000D133C5 /* emoji_22@2x.png in Resources */,
|
||||
E8A1E461276220DA00B294CA /* candyTree.svga in Resources */,
|
||||
@@ -9430,7 +9444,6 @@
|
||||
14A0CF3B29C014B400B2375A /* moment_living.svga in Resources */,
|
||||
E80EC89528ACD84000D133C5 /* emoji_99@2x.png in Resources */,
|
||||
E80EC89128ACD84000D133C5 /* emoji_133@2x.png in Resources */,
|
||||
E839806829027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga in Resources */,
|
||||
E80EC87F28ACD84000D133C5 /* emoji_137@2x.png in Resources */,
|
||||
E80EC8B028ACD84100D133C5 /* emoji_152@2x.png in Resources */,
|
||||
E80EC85728ACD84000D133C5 /* emoji_130@2x.png in Resources */,
|
||||
@@ -9542,6 +9555,7 @@
|
||||
E80EC82728ACD84000D133C5 /* emoji_73@2x.png in Resources */,
|
||||
145EC95C29C86A0B003D69B1 /* login_logo.svga in Resources */,
|
||||
E80EC85928ACD84000D133C5 /* emoji_122@2x.png in Resources */,
|
||||
E8B2B5C129C9C96000C7AD19 /* room_wish_gift_sendCelebrate.svga in Resources */,
|
||||
E80EC86E28ACD84000D133C5 /* emoji_48@2x.png in Resources */,
|
||||
E80EC86A28ACD84000D133C5 /* emoji_27@2x.png in Resources */,
|
||||
E80EC88228ACD84000D133C5 /* emoji_13@2x.png in Resources */,
|
||||
@@ -9688,6 +9702,7 @@
|
||||
E8AB633628AE54A40023B0D2 /* XPSailingPrizeCollectionViewCell.m in Sources */,
|
||||
E824543A26F5880E00BE8163 /* XPLoginVerifBindPhoneProtocol.h in Sources */,
|
||||
E8E20BE2281695800033B688 /* XPMineLoginPasswordViewController.m in Sources */,
|
||||
E80E236F299A195F0013FD40 /* XPStarredKitchenGiftView.m in Sources */,
|
||||
E86E79D628A4EA0C006DAF48 /* SessionRiskCache.m in Sources */,
|
||||
E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */,
|
||||
E8B846BF26FD827900A777FE /* XPMineUserInfoAlbumViewController.m in Sources */,
|
||||
@@ -9757,6 +9772,7 @@
|
||||
E8C6FFD42754AA87004DC9F0 /* XPNoteView.m in Sources */,
|
||||
9BD8D4E328911E9900AE03FF /* XPMineCollectRoomListViewController.m in Sources */,
|
||||
9B2EA7C628041EFC00ED17BF /* XPAnchorPkPanelView.m in Sources */,
|
||||
E80E2372299A1C380013FD40 /* XPStarredKitchenModel.m in Sources */,
|
||||
E84150BB27747BAF00A7F548 /* XPFirstRechargePresenter.m in Sources */,
|
||||
14A0CF4D29C0511200B2375A /* XPMineRechargeFooterReusableView.m in Sources */,
|
||||
E800806B27FD42B00055A8AB /* XPClanRoomCollectionViewCell.m in Sources */,
|
||||
|
6
xplan-ios/Assets.xcassets/Room/Kitchen/Contents.json
Normal file
6
xplan-ios/Assets.xcassets/Room/Kitchen/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
xplan-ios/Assets.xcassets/Room/Kitchen/room_starred_kitchen_large_gift_bg.imageset/Contents.json
vendored
Normal file
22
xplan-ios/Assets.xcassets/Room/Kitchen/room_starred_kitchen_large_gift_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_starred_kitchen_large_gift_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_starred_kitchen_large_gift_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
@@ -100,6 +100,8 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
|
||||
CustomMessageType_Graffiti_Gift = 94,
|
||||
///心愿礼物
|
||||
CustomMessageType_Wish_Gift = 95,
|
||||
///星级厨房
|
||||
CustomMessageType_Starred_Kitchen = 96,
|
||||
};
|
||||
|
||||
|
||||
@@ -535,6 +537,14 @@ typedef NS_ENUM(NSInteger, CustomMessageWishGift) {
|
||||
Custom_Message_Sub_Wish_Gift_Close = 955,
|
||||
};
|
||||
|
||||
///星级厨房 CustomMessageType_Starred_Kitchen = 96,
|
||||
typedef NS_ENUM(NSInteger, CustomMessageStarredKitchen) {
|
||||
///星级厨房礼物房间飘屏通知(静态)
|
||||
Custom_Message_Sub_Starred_Kitchen_Banner_Static = 960,
|
||||
///星级厨房礼物房间飘屏通知动态)
|
||||
Custom_Message_Sub_Starred_Kitchen_Banner_Dynamic = 961 ,
|
||||
};
|
||||
|
||||
@interface AttachmentModel : NSObject<NIMCustomAttachment>
|
||||
@property (nonatomic,assign) int first;
|
||||
@property (nonatomic,assign) int second;
|
||||
|
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// XPStarredKitchenModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2023/2/13.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPStarredKitchenModel : NSObject
|
||||
///送礼物的人
|
||||
@property(nonatomic, copy) NSString *nick;
|
||||
///uid
|
||||
@property(nonatomic, copy) NSString *uid;
|
||||
///房主的Uid
|
||||
@property(nonatomic, copy) NSString *roomUid;
|
||||
///倍数
|
||||
@property (nonatomic,assign) NSInteger itemMultiple;
|
||||
///钻石
|
||||
@property (nonatomic,assign) NSInteger diamonds;
|
||||
///跳转的地址
|
||||
@property (nonatomic,copy) NSString *skipUrl;
|
||||
///需要的等级
|
||||
@property (nonatomic,assign) NSInteger needLevel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// XPStarredKitchenModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2023/2/13.
|
||||
//
|
||||
|
||||
#import "XPStarredKitchenModel.h"
|
||||
|
||||
@implementation XPStarredKitchenModel
|
||||
|
||||
@end
|
@@ -13,6 +13,9 @@
|
||||
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
|
||||
for (NSInteger i = (self.subviews.count - 1) ; i >= 0 ; i--) {
|
||||
UIView * subView = [self.subviews safeObjectAtIndex1:i];
|
||||
if (subView.subviews.count <= 0) {
|
||||
continue;
|
||||
}
|
||||
CGPoint convertPoint = [subView convertPoint:point fromView:self];
|
||||
if (CGRectContainsPoint(subView.bounds, convertPoint)) {
|
||||
return [subView hitTest:convertPoint withEvent:event];
|
||||
|
@@ -39,6 +39,7 @@
|
||||
#import "DatingInfoModel.h"
|
||||
#import "AcrossRoomPKPrizeModel.h"
|
||||
#import "RoomHalfHourRankModel.h"
|
||||
#import "XPStarredKitchenModel.h"
|
||||
///View
|
||||
#import "XPRoomGiftBannerView.h"
|
||||
#import "XPRoomGiftBroadcastView.h"
|
||||
@@ -55,8 +56,10 @@
|
||||
#import "XPRoomGiftCompoundView.h"
|
||||
#import "XPSailingAnimationView.h"
|
||||
#import "XPRoomGraffitiGiftAnimationView.h"
|
||||
#import "XPStarredKitchenGiftView.h"
|
||||
#import "XPWebViewController.h"
|
||||
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate>
|
||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPStarredKitchenGiftViewDelegate>
|
||||
///展示的不同层级
|
||||
///最底层的
|
||||
@property (nonatomic,strong) XPRoomAnimationHitView * lowLevelView;
|
||||
@@ -287,6 +290,8 @@
|
||||
[self receiveRoomGraffitiGift:attachment];
|
||||
} else if(attachment.first == CustomMessageType_Wish_Gift && attachment.second == Custom_Message_Sub_Wish_Gift_Gelebrate) {
|
||||
[self receiveRoomWishGiftCelebrate:attachment];
|
||||
} else if(attachment.first == CustomMessageType_Starred_Kitchen && (attachment.second == Custom_Message_Sub_Starred_Kitchen_Banner_Dynamic || attachment.second == Custom_Message_Sub_Starred_Kitchen_Banner_Static)) {
|
||||
[self receiveStarredKitchenGift:attachment];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1624,6 +1629,63 @@
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - 星级厨房
|
||||
- (void)receiveStarredKitchenGift:(AttachmentModel *)attatchment {
|
||||
if ([self isInSudGame]) {return;}
|
||||
if (self.candyTreegiftQueue.count == 0) {
|
||||
[self createStarredKitchenBannerAnimation:attatchment];
|
||||
}
|
||||
[self.candyTreegiftQueue addObject:attatchment];
|
||||
}
|
||||
|
||||
- (void)createStarredKitchenBannerAnimation:(AttachmentModel *)attatchment {
|
||||
CGFloat kscale = (CGFloat)60 / (CGFloat)375;
|
||||
XPStarredKitchenGiftView *kitchenView = [[XPStarredKitchenGiftView alloc] initWithFrame:CGRectMake(KScreenWidth, kNavigationHeight + 15, KScreenWidth , KScreenWidth * kscale)];
|
||||
kitchenView.delegate = self;
|
||||
kitchenView.isMaxLargeGift = attatchment.second == Custom_Message_Sub_Starred_Kitchen_Banner_Dynamic;
|
||||
kitchenView.starredKitchenDic = attatchment.data;
|
||||
[self.middleLevelView addSubview:kitchenView];
|
||||
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||
springAnimation.springSpeed = 12;
|
||||
springAnimation.springBounciness = 10.f;
|
||||
springAnimation.fromValue = [NSValue valueWithCGPoint:kitchenView.center];
|
||||
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(kitchenView.frame.size.width / 2, kitchenView.center.y)];
|
||||
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
|
||||
if (finished) {
|
||||
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, kitchenView.center.y)];
|
||||
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2, kitchenView.center.y)];
|
||||
moveAnimation.beginTime = CACurrentMediaTime() + 3;
|
||||
moveAnimation.duration = 0.5;
|
||||
moveAnimation.repeatCount = 1;
|
||||
moveAnimation.removedOnCompletion = YES;
|
||||
@kWeakify(self);
|
||||
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
|
||||
@kStrongify(self);
|
||||
if (finished) {
|
||||
[kitchenView removeFromSuperview];
|
||||
if (self.candyTreegiftQueue.count > 0) {
|
||||
[self.candyTreegiftQueue removeObjectAtIndex:0];
|
||||
}
|
||||
if (self.candyTreegiftQueue.count > 0) {
|
||||
[self createStarredKitchenBannerAnimation:self.candyTreegiftQueue.firstObject];
|
||||
}
|
||||
}
|
||||
}];
|
||||
[kitchenView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
|
||||
}
|
||||
}];
|
||||
[kitchenView pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"];
|
||||
}
|
||||
|
||||
- (void)xPStarredKitchenGiftView:(XPStarredKitchenGiftView *)view didClickEnter:(XPStarredKitchenModel *)model {
|
||||
if (model &&model.needLevel < self.delegate.getUserInfo.userLevelVo.experLevelSeq && model.skipUrl.length > 0) {
|
||||
XPWebViewController * webVC = [[XPWebViewController alloc] init];
|
||||
webVC.url = model.skipUrl;
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - HWDMP4PlayDelegate
|
||||
//即将开始播放时询问,true马上开始播放,false放弃播放
|
||||
- (BOOL)shouldStartPlayMP4:(VAPView *)container config:(QGVAPConfigModel *)config {
|
||||
@@ -1803,6 +1865,7 @@
|
||||
_middleLevelView = [[XPRoomAnimationHitView alloc] init];
|
||||
_middleLevelView.backgroundColor = [UIColor clearColor];
|
||||
_middleLevelView.userInteractionEnabled = YES;
|
||||
_middleLevelView.tag = 1001;
|
||||
}
|
||||
return _middleLevelView;
|
||||
}
|
||||
@@ -1948,6 +2011,4 @@
|
||||
return _wishGiftEffectView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// XPStarredKitchenGiftView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2023/2/13.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class XPStarredKitchenGiftView, XPStarredKitchenModel;
|
||||
@protocol XPStarredKitchenGiftViewDelegate <NSObject>
|
||||
|
||||
- (void)xPStarredKitchenGiftView:(XPStarredKitchenGiftView *)view didClickEnter:(XPStarredKitchenModel *)model;
|
||||
|
||||
@end
|
||||
|
||||
@interface XPStarredKitchenGiftView : UIView
|
||||
///代理
|
||||
@property (nonatomic,weak) id<XPStarredKitchenGiftViewDelegate> delegate;
|
||||
///星级厨房数据
|
||||
@property (nonatomic,strong) NSDictionary *starredKitchenDic;
|
||||
///是不是动态礼物
|
||||
@property (nonatomic,assign) BOOL isMaxLargeGift;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,191 @@
|
||||
//
|
||||
// XPStarredKitchenGiftView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2023/2/13.
|
||||
//
|
||||
///星级厨房
|
||||
#import "XPStarredKitchenGiftView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <SVGA.h>
|
||||
#import "XPSVGAPlayer.h"
|
||||
#import "XPMacro.h"
|
||||
#import "ThemeColor+Room.h"
|
||||
#import "XPStarredKitchenModel.h"
|
||||
#import "NSObject+MJExtension.h"
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
#import "XPWebViewController.h"
|
||||
@interface XPStarredKitchenGiftView ()
|
||||
///动画管理类
|
||||
@property (strong, nonatomic) SVGAParser *parser;
|
||||
///糖果树特效
|
||||
@property (nonatomic,strong) XPSVGAPlayer *candyTreeView;
|
||||
///背景图
|
||||
@property (nonatomic,strong) UIImageView *backImageView;
|
||||
///容器
|
||||
@property (nonatomic,strong) UIView *titleView;
|
||||
///显示文本内容
|
||||
@property (nonatomic,strong) UILabel *titleLabel;
|
||||
///
|
||||
@property (nonatomic,strong) XPStarredKitchenModel *kitchenModel;
|
||||
///点击事件
|
||||
@property (nonatomic,strong) UIButton *actionButton;
|
||||
@end
|
||||
|
||||
@implementation XPStarredKitchenGiftView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.candyTreeView];
|
||||
[self addSubview:self.backImageView];
|
||||
[self addSubview:self.actionButton];
|
||||
[self.backImageView addSubview:self.titleView];
|
||||
|
||||
[self.titleView addSubview:self.titleLabel];
|
||||
}
|
||||
|
||||
- (void)recognizer {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPStarredKitchenGiftView:didClickEnter:)]) {
|
||||
[self.delegate xPStarredKitchenGiftView:self didClickEnter:self.kitchenModel];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.actionButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
|
||||
[self.candyTreeView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
|
||||
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(260);
|
||||
make.height.mas_equalTo(28);
|
||||
make.top.mas_equalTo(self.backImageView).offset(23);
|
||||
make.centerX.mas_equalTo(self.backImageView);
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.titleView);
|
||||
make.centerY.mas_equalTo(self.titleView);
|
||||
}];
|
||||
}
|
||||
|
||||
- (NSAttributedString *)createAttribute:(NSString * )text color:(UIColor *)color fontSize:(CGFloat)fonSize {
|
||||
NSDictionary * attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:fonSize], NSForegroundColorAttributeName:color};
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:text attributes:attribute];
|
||||
return attr;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setStarredKitchenDic:(NSDictionary *)starredKitchenDic{
|
||||
if (starredKitchenDic) {
|
||||
XPStarredKitchenModel * giftInfo = [XPStarredKitchenModel modelWithDictionary:starredKitchenDic];
|
||||
self.kitchenModel = giftInfo;
|
||||
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
|
||||
CGFloat fontSize = self.isMaxLargeGift ? 22 : 13;
|
||||
[attribute appendAttributedString:[self createAttribute:@"恭喜" color:[UIColor whiteColor] fontSize:fontSize]];
|
||||
NSString * nick = giftInfo.nick;
|
||||
if (nick.length > 6) {
|
||||
nick = [nick substringToIndex:6];
|
||||
}
|
||||
[attribute appendAttributedString:[self createAttribute:nick color:[ThemeColor colorWithHexString:@"#FEF23E"] fontSize:fontSize]];
|
||||
[attribute appendAttributedString:[self createAttribute:@"在星级厨房抽中 " color:[UIColor whiteColor] fontSize:fontSize]];
|
||||
[attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@"%ld", giftInfo.itemMultiple] color:[ThemeColor colorWithHexString:@"#00EAFF"] fontSize:fontSize]];
|
||||
[attribute appendAttributedString:[self createAttribute:@"倍奖励,获得" color:[ThemeColor colorWithHexString:@"#FEF23E"] fontSize:fontSize]];
|
||||
[attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@" %ld", giftInfo.diamonds] color:[ThemeColor colorWithHexString:@"#00EAFF"] fontSize:fontSize]];
|
||||
[attribute appendAttributedString:[self createAttribute:@"钻石" color:[UIColor whiteColor] fontSize:fontSize]];
|
||||
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
|
||||
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
|
||||
paragraphStyle.lineSpacing = 4.0f;//行间距
|
||||
paragraphStyle.alignment = NSTextAlignmentCenter;
|
||||
paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
||||
[attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, attribute.length)];
|
||||
[self.candyTreeView setAttributedText:attribute forKey:@"noble_text_tx"];
|
||||
if (self.isMaxLargeGift) {
|
||||
self.backImageView.hidden = YES;
|
||||
self.candyTreeView.hidden = NO;
|
||||
@kWeakify(self);
|
||||
[self.parser parseWithNamed:@"starred_kitchen_bg" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
|
||||
@kStrongify(self);
|
||||
self.candyTreeView.loops = 1;
|
||||
self.candyTreeView.clearsAfterStop = NO;
|
||||
self.candyTreeView.videoItem = videoItem;
|
||||
|
||||
[self.candyTreeView startAnimation];
|
||||
} failureBlock:^(NSError * _Nonnull error) {
|
||||
|
||||
}];
|
||||
} else {
|
||||
self.backImageView.hidden = NO;
|
||||
self.candyTreeView.hidden = YES;
|
||||
self.titleLabel.attributedText = attribute;
|
||||
self.titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (XPSVGAPlayer *)candyTreeView {
|
||||
if (!_candyTreeView) {
|
||||
_candyTreeView = [[XPSVGAPlayer alloc]init];
|
||||
_candyTreeView.backgroundColor = [UIColor clearColor];
|
||||
_candyTreeView.userInteractionEnabled = YES;
|
||||
}
|
||||
return _candyTreeView;
|
||||
}
|
||||
|
||||
- (SVGAParser *)parser {
|
||||
if (!_parser) {
|
||||
_parser = [[SVGAParser alloc]init];
|
||||
}
|
||||
return _parser;
|
||||
}
|
||||
|
||||
- (UIView *)titleView {
|
||||
if (!_titleView) {
|
||||
_titleView = [[UIView alloc] init];
|
||||
_titleView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
return _titleView;
|
||||
}
|
||||
|
||||
- (UIImageView *)backImageView {
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
_backImageView.image = [UIImage imageNamed:@"room_starred_kitchen_large_gift_bg"];
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)titleLabel {
|
||||
if (!_titleLabel) {
|
||||
_titleLabel = [[UILabel alloc] init];
|
||||
_titleLabel.numberOfLines = 2;
|
||||
}
|
||||
return _titleLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)actionButton {
|
||||
if (!_actionButton) {
|
||||
_actionButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_actionButton addTarget:self action:@selector(recognizer) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _actionButton;
|
||||
}
|
||||
|
||||
@end
|
@@ -119,6 +119,11 @@
|
||||
@(CustomMessageType_Wish_Gift):
|
||||
[NSSet setWithObjects:
|
||||
@(Custom_Message_Sub_Wish_Gift_Finish),
|
||||
nil],
|
||||
@(CustomMessageType_Starred_Kitchen):
|
||||
[NSSet setWithObjects:
|
||||
@(Custom_Message_Sub_Starred_Kitchen_Banner_Dynamic),
|
||||
@(Custom_Message_Sub_Starred_Kitchen_Banner_Static),
|
||||
nil]
|
||||
|
||||
};
|
||||
|
@@ -21,6 +21,7 @@
|
||||
#import "NSArray+Safe.h"
|
||||
#import "UIView+Corner.h"
|
||||
#import "Api+Room.h"
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
///Model
|
||||
#import "XPMessageRemoteExtModel.h"
|
||||
#import "AttachmentModel.h"
|
||||
@@ -42,13 +43,14 @@
|
||||
#import "RoomSailingPrizeModel.h"
|
||||
#import "XPOpenRedPacketModel.h"
|
||||
#import "XPMessageInfoModel.h"
|
||||
|
||||
#import "XPStarredKitchenModel.h"
|
||||
#import "NetImageView.h"
|
||||
|
||||
#import "XPUserCardViewController.h"
|
||||
#import "XPRoomTopicAlertView.h"
|
||||
#import "XPRoomSendTextView.h"
|
||||
#import "XPRoomPKResultView.h"
|
||||
#import "XPWebViewController.h"
|
||||
|
||||
@implementation XPRoomMessageParser
|
||||
|
||||
@@ -124,9 +126,11 @@
|
||||
return [self createRoomSailingAttribute:attachment messageInfo:messageInfo];
|
||||
} else if (first == CustomMessageType_RedPacket && attachment.second == Custom_Message_Sub_OpenRedPacketSuccess) {
|
||||
return [self createRedPacketAttribute:attachment messageInfo:messageInfo];
|
||||
} else if (first == CustomMessageType_Wish_Gift) {
|
||||
} else if (first == CustomMessageType_Wish_Gift) {
|
||||
return [self createWishGiftAttribute:attachment messageInfo:messageInfo];
|
||||
}
|
||||
} else if (first == CustomMessageType_Starred_Kitchen) {
|
||||
return [self createStarredKitchenAttribute:attachment messageInfo:messageInfo];
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
@@ -336,7 +340,7 @@
|
||||
return nil;
|
||||
}
|
||||
|
||||
#pragma mark - 心愿礼物
|
||||
#pragma mark - 星级厨房
|
||||
- (XPMessageInfoModel *)createWishGiftAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
|
||||
UIImageView *imaveView = [[UIImageView alloc]init];
|
||||
imaveView.image = [UIImage imageNamed:@"room_wish_gift_mesage_finish"];
|
||||
@@ -360,6 +364,40 @@
|
||||
return messageInfo;
|
||||
}
|
||||
|
||||
#pragma mark - 心愿礼物
|
||||
- (XPMessageInfoModel *)createStarredKitchenAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
|
||||
XPStarredKitchenModel * giftInfo = [XPStarredKitchenModel modelWithDictionary:attachment.data];
|
||||
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
|
||||
CGFloat fontSize = 13;
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"恭喜" color:[UIColor whiteColor] font:fontSize]];
|
||||
NSString * nick = giftInfo.nick;
|
||||
if (nick.length > 6) {
|
||||
nick = [nick substringToIndex:6];
|
||||
}
|
||||
[attribute appendAttributedString:[self createTextAttribute:nick color:[ThemeColor colorWithHexString:@"#FEF23E"] font:fontSize]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"在深海奇缘抽中 " color:[UIColor whiteColor] font:fontSize]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:@"%ld", giftInfo.itemMultiple] color:[ThemeColor colorWithHexString:@"#00EAFF"] font:fontSize]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"倍奖励,获得" color:[UIColor whiteColor] font:fontSize]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:@" %ld", giftInfo.diamonds] color:[ThemeColor colorWithHexString:@"#00EAFF"] font:fontSize]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"钻石" color:[UIColor whiteColor] font:fontSize]];
|
||||
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
|
||||
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
|
||||
paragraphStyle.lineSpacing = 4.0f;//行间距
|
||||
paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;
|
||||
[attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, attribute.length)];
|
||||
@kWeakify(self);
|
||||
[attribute yy_setTextHighlightRange:NSMakeRange(0, attribute.length) color:nil backgroundColor:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
|
||||
@kStrongify(self);
|
||||
if (giftInfo &&giftInfo.needLevel < self.hostDelegate.getUserInfo.userLevelVo.experLevelSeq && giftInfo.skipUrl.length > 0) {
|
||||
XPWebViewController * webVC = [[XPWebViewController alloc] init];
|
||||
webVC.url = giftInfo.skipUrl;
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
|
||||
}
|
||||
}];
|
||||
messageInfo.content = attribute;
|
||||
return messageInfo;
|
||||
}
|
||||
|
||||
#pragma mark - 红包
|
||||
- (XPMessageInfoModel *)createRedPacketAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
|
||||
XPOpenRedPacketModel *info = [XPOpenRedPacketModel modelWithDictionary:attachment.data];
|
||||
|
BIN
xplan-ios/Sources/starred_kitchen_bg.svga
Normal file
BIN
xplan-ios/Sources/starred_kitchen_bg.svga
Normal file
Binary file not shown.
Reference in New Issue
Block a user