飘屏更改

This commit is contained in:
liyuhua
2023-07-11 10:47:13 +08:00
parent 6667348464
commit 2e72436bb9
12 changed files with 270 additions and 160 deletions

View File

@@ -0,0 +1,17 @@
//
// PIBaseAnimationViewModel.h
// YuMi
//
// Created by duoban on 2023/7/10.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIBaseAnimationViewModel : NSObject
@property (nonatomic,assign) int first;
@property (nonatomic,assign) int second;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// PIBaseAnimationViewModel.m
// YuMi
//
// Created by duoban on 2023/7/10.
//
#import "PIBaseAnimationViewModel.h"
@implementation PIBaseAnimationViewModel
@end

View File

@@ -6,10 +6,20 @@
//
///四级礼物的模型
#import <Foundation/Foundation.h>
#import "PIBaseAnimationViewModel.h"
typedef enum : NSUInteger {
GiftBannerType_Lucky,///福袋
GiftBannerType_Love,///寻爱之旅
GiftBannerType_Nobleman,///贵族
GiftBannerType_kitchen,///厨房
GiftBannerType_AnchorHour,///个播小时榜
GiftBannerType_LicneseHour,///牌照房小时榜
} GiftBannerType;
NS_ASSUME_NONNULL_BEGIN
@interface YUMIPresentBigCaptureMatrix : NSObject
@interface YUMIPresentBigCaptureMatrix : PIBaseAnimationViewModel
@property(nonatomic, copy)NSString *nick;
@property(nonatomic, copy)NSString *giftName;
@property (nonatomic,copy) NSString *luckyBagName;
@@ -18,6 +28,14 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,copy) NSString *roomUid;
@property (nonatomic,copy) NSString *goldPrice;
@property (nonatomic,assign) BOOL isInRoomVisiable;
@property(nonatomic,assign) GiftBannerType type;
@property (nonatomic,copy) NSDictionary *data;
@property (nonatomic,copy) NSString *skipUrl;
@property (nonatomic,copy) NSString *itemId;
@property (nonatomic,copy) NSString *itemMultiple;
@property (nonatomic,copy) NSString *diamonds;
@property (nonatomic,copy) NSString * bannerId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -65,13 +65,10 @@
@property (nonatomic,strong) SVGAImageView *fortunatePresentImpressionRegard;
@property (nonatomic, strong) VAPView *fortunateVepporPresentImpressionRegard;
@property (nonatomic,weak) id<ChamberHostRepresendtation>delegate;
@property (nonatomic,strong) NSMutableArray<PresentAchieveAbstractMatrix *> *presentImpressionFormation;
@property (strong,nonatomic)NSMutableSet * oriflammeDequePond;
@property (strong,nonatomic)NSMutableSet * oriflammeVisiablePond;
@property (nonatomic,strong)dispatch_source_t presentImpressionIntratemper;
@property (nonatomic,strong) NSMutableArray<YUMIPresentBigCaptureMatrix *> *bigCapturePresentFormation;
@property (nonatomic,strong)dispatch_source_t fortunatecaptureIntratemper;
@property (nonatomic,strong) NSMutableArray<YUMIChamberPresentBroadCastMatrix *> *presentPingencourageFormation;
#pragma mark -
@@ -79,9 +76,7 @@
@property (nonatomic ,strong)dispatch_source_t presentIntratemper;
@property (nonatomic,strong) NSMutableSet<NetIndicateRegard *> * presentReuseGarment;
@property (nonatomic,strong) NSMutableSet<NetIndicateRegard *> * presentVisibleGarment;
@property (nonatomic,strong) NSMutableArray *confectioneryTimberpresentFormation;
@property (nonatomic,strong) NSMutableArray *compoundPresentFormation;
@property (nonatomic, strong) NSMutableArray *magnificentPrototypeUpwardsFormation;
@property (nonatomic,assign) BOOL isBignessPresentAnimating;
#pragma mark -
@property (nonatomic, strong) NSMutableArray<NSDictionary *> *automobileImpressionFormation;
@@ -99,10 +94,17 @@
@property (nonatomic, strong) NSMutableArray<AttachmentMatrix *> *marchingFormation;
#pragma mark -
@property (nonatomic, strong) NSMutableArray<AttachmentMatrix *> *doodlePresentFormation;
@property (nonatomic,assign) BOOL isFortunatePresentBrectifyness;
#pragma mark -
@property (nonatomic,strong) SVGAImageView *sequencirePresentImpressionRegard;
@property (nonatomic,strong) NSMutableArray *satelliteKitchenFormation;
/// PresentAchieveAbstractMatrix
@property(nonatomic,strong) NSMutableArray<PresentAchieveAbstractMatrix *> *animationListA;
/// YUMIPresentBigCaptureMatrix
@property(nonatomic,strong) NSMutableArray<YUMIPresentBigCaptureMatrix *> *animationListB;
///
@property(nonatomic,assign) BOOL isPlayOfA;
///
@property(nonatomic,assign) BOOL isPlayOfB;
@end
@implementation YUMIChamberBrightnessRegard
@@ -263,9 +265,9 @@
} else if (attachment.first == IndividualityCommunicationGenre_Across_Room_PK && attachment.second == Custom_Message_Sub_AnchorPK_Result) {
[self throughoutChamberCombatOriflammeBrectifyness:attachment];
} else if (attachment.first == IndividualityCommunicationGenre_Anchor_Hour_Rank && attachment.second == Custom_Message_Sub_Anchor_Hour_Rank) {
[self achieveKellegStundeRtowardse:attachment];
[self receiveAnchorHourList:attachment];
} else if (attachment.first == IndividualityCommunicationGenre_Licnese_Hour_Rank && attachment.second == Custom_Message_Sub_Licnese_Hour_Rank) {
[self achieveLicneseStundeRtowardse:attachment];
[self receiveLicneseHourList:attachment];
} else if (attachment.first == IndividualityCommunicationGenre_Gift_Compound && attachment.second == Custom_Message_Sub_Gift_Compound) {
[self achievePresentSynthetise:attachment];
} else if(attachment.first == IndividualityCommunicationGenre_Room_Sailing && (attachment.second == Custom_Message_Sub_Sailing_AllRoom_Notify || attachment.second == Custom_Message_Sub_Sailing_InRoom_NeedAllMicSend)) {
@@ -298,18 +300,21 @@
#pragma mark -
-(void)achieveChamberDoodleStowardselliteKitchen:(AttachmentMatrix *)attacment{
if(self.satelliteKitchenFormation.count == 0){
[self produceStowardselliteKitchenOriflammeBrectifyness:attacment];
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix new];
captureMatrix.data = attacment.data;
captureMatrix.type = GiftBannerType_kitchen;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self produceStowardselliteKitchenOriflammeBrectifyness:captureMatrix];
}
[self.satelliteKitchenFormation addObject:attacment];
[self.animationListB addObject:captureMatrix];
}
- (void)produceStowardselliteKitchenOriflammeBrectifyness:(AttachmentMatrix *)attacment{
- (void)produceStowardselliteKitchenOriflammeBrectifyness:(YUMIPresentBigCaptureMatrix *)attacment{
self.isPlayOfB = YES;
YUMIChamberSatelliteKitchenOriflammeRegard *starKitchenView = [[YUMIChamberSatelliteKitchenOriflammeRegard alloc]initWithFrame:CGRectMake(0, kNavigationHeight + 15, KScreenWidth, kGetScaleWidth(60))];
starKitchenView.isSvga = attacment.second == Custom_Message_Sub_Star_Kitchen_Server;
YUMIChamberSatelliteKitchenMatrix *starMatrix = [YUMIChamberSatelliteKitchenMatrix mtowardsrixAboutImpactbasket:attacment.data];
starKitchenView.delegate = self;
starKitchenView.starMatrix = starMatrix;
starKitchenView.starMatrix = attacment;
[self.highProttypeRegard addSubview:starKitchenView];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
@@ -330,10 +335,12 @@
@kStrongify(self);
if (finished) {
[starKitchenView removeFromSuperview];
[self.satelliteKitchenFormation removeObjectAtIndex:0];
if (self.satelliteKitchenFormation.count > 0) {
[self produceStowardselliteKitchenOriflammeBrectifyness:self.satelliteKitchenFormation.firstObject];
}
self.isPlayOfB = NO;
if(self.animationListB.count > 0){
[self.animationListB removeObjectAtIndex:0];
}
[self playAnimationWithModel];
}
}];
[starKitchenView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
@@ -343,7 +350,7 @@
}
#pragma mark - FBCChamberStarKitchenBannerRegardRepresendtation
- (void)yUMIChamberStowardselliteKitchenOriflammeRegard:(YUMIChamberSatelliteKitchenOriflammeRegard *)view didClick:(YUMIChamberSatelliteKitchenMatrix *)starMatrix{
- (void)yUMIChamberStowardselliteKitchenOriflammeRegard:(YUMIChamberSatelliteKitchenOriflammeRegard *)view didClick:(YUMIPresentBigCaptureMatrix *)starMatrix{
if(starMatrix.skipUrl == nil || starMatrix.skipUrl.length == 0)return;
YUMITissueRegardGovernancer * webVewC = [[YUMITissueRegardGovernancer alloc] init];
webVewC.isPush = YES;
@@ -681,14 +688,21 @@
#pragma mark -
- (void)achieveConfectioneryTimberPresentHighProttype:(AttachmentMatrix *)attatchment {
if ([self isInYoudCompetition]) {return;}
if (self.confectioneryTimberpresentFormation.count == 0) {
[self produceConfectioneryTimberOriflammeBrectifyness:attatchment];
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix new];
captureMatrix.data = attatchment.data;
captureMatrix.second = attatchment.second;
captureMatrix.first = attatchment.first;
captureMatrix.type = GiftBannerType_Love;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self produceConfectioneryTimberOriflammeBrectifyness:captureMatrix];
}
[self.confectioneryTimberpresentFormation addObject:attatchment];
[self.animationListB addObject:captureMatrix];
}
- (void)produceConfectioneryTimberOriflammeBrectifyness:(AttachmentMatrix *)attatchment {
- (void)produceConfectioneryTimberOriflammeBrectifyness:(YUMIPresentBigCaptureMatrix *)attatchment {
CGFloat kscale = (CGFloat)60 / (CGFloat)375;
self.isPlayOfB = YES;
YUMIChamberConfectioneryPresentRegard *confectioneryTimberRegard = [[YUMIChamberConfectioneryPresentRegard alloc] initWithFrame:CGRectMake(KScreenWidth, kNavigationHeight + 15, KScreenWidth , KScreenWidth * kscale)];
confectioneryTimberRegard.isLargestBignessPresent = attatchment.second == Custom_Message_Sub_Candy_Tree_InRoom_NeedAllMicSend;
confectioneryTimberRegard.confectioneryAbstract = attatchment.data;
@@ -712,12 +726,11 @@
@kStrongify(self);
if (finished) {
[confectioneryTimberRegard removeFromSuperview];
if (self.confectioneryTimberpresentFormation.count > 0) {
[self.confectioneryTimberpresentFormation removeObjectAtIndex:0];
}
if (self.confectioneryTimberpresentFormation.count > 0) {
[self produceConfectioneryTimberOriflammeBrectifyness:self.confectioneryTimberpresentFormation.firstObject];
self.isPlayOfB = NO;
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
[self playAnimationWithModel];
}
}];
[confectioneryTimberRegard pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
@@ -775,15 +788,19 @@
#pragma mark -
- (void)achieveMagnificentPrototypeUpwards:(AttachmentMatrix *)attachment {
if (self.magnificentPrototypeUpwardsFormation.count == 0) {
[self produceMagnificentPrototypeUpwardsOriflammeBrectifyness:attachment.data];
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix new];
captureMatrix.data = attachment.data;
captureMatrix.type = GiftBannerType_Nobleman;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self produceMagnificentPrototypeUpwardsOriflammeBrectifyness:captureMatrix];
}
[self.magnificentPrototypeUpwardsFormation addObject:attachment.data];
[self.animationListB addObject:captureMatrix];
}
- (void)produceMagnificentPrototypeUpwardsOriflammeBrectifyness:(NSDictionary *)dic {
- (void)produceMagnificentPrototypeUpwardsOriflammeBrectifyness:(YUMIPresentBigCaptureMatrix *)model {
self.isPlayOfB = YES;
YUMIChamberMagnificentPrototypeUpwardsRegard *nobleLevelUpView = [[YUMIChamberMagnificentPrototypeUpwardsRegard alloc] initWithFrame:CGRectMake(KScreenWidth, kNavigationHeight + 15, KScreenWidth, 90)];
nobleLevelUpView.magnificentAbstract = dic;
nobleLevelUpView.magnificentAbstract = model.data;
[self.highProttypeRegard addSubview:nobleLevelUpView];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
@@ -804,12 +821,11 @@
@kStrongify(self);
if (finished) {
[nobleLevelUpView removeFromSuperview];
if (self.magnificentPrototypeUpwardsFormation > 0) {
[self.magnificentPrototypeUpwardsFormation removeObjectAtIndex:0];
self.isPlayOfB = NO;
if (self.animationListB > 0) {
[self.animationListB removeObjectAtIndex:0];
}
if (self.magnificentPrototypeUpwardsFormation.count > 0) {
[self produceMagnificentPrototypeUpwardsOriflammeBrectifyness:self.magnificentPrototypeUpwardsFormation.firstObject];
}
[self playAnimationWithModel];
}
}];
[nobleLevelUpView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
@@ -866,7 +882,16 @@
}
#pragma mark -
- (void)achieveLicneseStundeRtowardse:(AttachmentMatrix *)attachment {
- (void)receiveLicneseHourList:(AttachmentMatrix *)attachment{
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix new];
captureMatrix.data = attachment.data;
captureMatrix.type = GiftBannerType_AnchorHour;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self achieveLicneseStundeRtowardse:captureMatrix];
}
[self.animationListB addObject:captureMatrix];
}
- (void)achieveLicneseStundeRtowardse:(YUMIPresentBigCaptureMatrix *)attachment {
YUMIChamberLicneseHourRateRegard *anchorRankView = [[YUMIChamberLicneseHourRateRegard alloc] initWithFrame:CGRectMake(KScreenWidth, kNavigationHeight + 15, 375, 60)];
anchorRankView.delegate = self;
anchorRankView.licneseRateAbstract = [ChamberHalfHourRateMatrix mtowardsrixAboutImpactbasket:attachment.data];
@@ -887,6 +912,13 @@
moveAnimation.removedOnCompletion = YES;
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
[anchorRankView removeFromSuperview];
self.isPlayOfB = NO;
if(self.animationListB.count > 0){
[self.animationListB removeObjectAtIndex:0];
}
[self playAnimationWithModel];
}];
[anchorRankView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
@@ -904,7 +936,18 @@
}
#pragma mark -
- (void)achieveKellegStundeRtowardse:(AttachmentMatrix *)attachment {
- (void)receiveAnchorHourList:(AttachmentMatrix *)attachment{
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix new];
captureMatrix.data = attachment.data;
captureMatrix.type = GiftBannerType_AnchorHour;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self achieveKellegStundeRtowardse:captureMatrix];
}
[self.animationListB addObject:captureMatrix];
}
- (void)achieveKellegStundeRtowardse:(YUMIPresentBigCaptureMatrix *)attachment {
self.isPlayOfB = YES;
YUMIChamberKellegRateOriflammeRegard *anchorRankView = [[YUMIChamberKellegRateOriflammeRegard alloc] initWithFrame:CGRectMake(KScreenWidth, kNavigationHeight + 15, KScreenWidth, 60)];
anchorRankView.kellegRateAbstract = [ChamberHalfHourRateMatrix mtowardsrixAboutImpactbasket:attachment.data];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(passtoApexRtowardseKellegChamber:)];
@@ -924,6 +967,14 @@
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
[anchorRankView removeFromSuperview];
self.isPlayOfB = NO;
if(self.animationListB.count > 0){
[self.animationListB removeObjectAtIndex:0];
}
[self playAnimationWithModel];
}];
[anchorRankView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
@@ -1230,57 +1281,77 @@
if (attachment.second == Custom_Message_Sub_Room_Gift_LuckBag || attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_Server) {
YUMIPresentBigCaptureMatrix * captureMatrix = [YUMIPresentBigCaptureMatrix mtowardsrixAboutImpactbasket:attachment.data];
captureMatrix.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag;
[self.bigCapturePresentFormation addObject:captureMatrix];
if (self.fortunatecaptureIntratemper == nil) {
[self inititowardseShankConsiderableCapturePresentIntrtowardsemper];
}
captureMatrix.type = GiftBannerType_Lucky;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self produceConsiderableCaptureBrectifyness:captureMatrix];
}
[self.animationListB addObject:captureMatrix];
}
}
- (void)inititowardseShankConsiderableCapturePresentIntrtowardsemper {
NSTimeInterval period = 1.0;
dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), period * NSEC_PER_SEC, 0);
@kWeakify(self);
dispatch_source_set_event_handler(_timer, ^{
@kStrongify(self)
if (self.bigCapturePresentFormation.count > 0) {
dispatch_sync(dispatch_get_main_queue(), ^{
if (self.isFortunatePresentBrectifyness) {
return;
}
YUMIPresentBigCaptureMatrix * captureMatrix = [self.bigCapturePresentFormation firstObject];
[self produceConsiderableCaptureBrectifyness:captureMatrix];
[self.bigCapturePresentFormation removeObject:captureMatrix];
});
}else {
dispatch_source_cancel(_timer);
self.fortunatecaptureIntratemper = nil;
}
});
dispatch_resume(_timer);
self.fortunatecaptureIntratemper = _timer;
}
- (void)produceConsiderableCaptureBrectifyness:(YUMIPresentBigCaptureMatrix *)captureMatrix {
self.isFortunatePresentBrectifyness = YES;
YUMIChamberFortunateBigCaptureRegard * fortunatePresentImpressionRegard = [[YUMIChamberFortunateBigCaptureRegard alloc] init];
self.isPlayOfB = YES;
CGFloat top = self.isPlayOfA == YES ? 268 : (kNavigationHeight + 15);
YUMIChamberFortunateBigCaptureRegard * fortunatePresentImpressionRegard = [[YUMIChamberFortunateBigCaptureRegard alloc] initWithFrame:CGRectMake(KScreenWidth, top, 375, 60)];
fortunatePresentImpressionRegard.delegate = self;
[self.highProttypeRegard addSubview:fortunatePresentImpressionRegard];
[fortunatePresentImpressionRegard mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self).offset(kNavigationHeight + 15);
make.size.mas_equalTo(CGSizeMake(375, 60));
}];
fortunatePresentImpressionRegard.giftInfo = captureMatrix;
[self performSelector:@selector(InthecaseoftuntowardseConsiderableCaptureBrectifynessAccomplish:) withObject:fortunatePresentImpressionRegard afterDelay:6];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:fortunatePresentImpressionRegard.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(KScreenWidth / 2, fortunatePresentImpressionRegard.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(KScreenWidth / 2, fortunatePresentImpressionRegard.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth, fortunatePresentImpressionRegard.center.y)];
moveAnimation.beginTime = CACurrentMediaTime() + 3;
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
[fortunatePresentImpressionRegard removeFromSuperview];
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
self.isPlayOfB = NO;
[self playAnimationWithModel];
}];
[fortunatePresentImpressionRegard pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[fortunatePresentImpressionRegard pop_addAnimation:springAnimation forKey:@"nobleLevelUpspingOutAnimation"];
}
- (void)InthecaseoftuntowardseConsiderableCaptureBrectifynessAccomplish:(YUMIChamberFortunateBigCaptureRegard *)player {
[player removeFromSuperview];
player.hidden = YES;
self.isFortunatePresentBrectifyness = NO;
-(void)playAnimationWithModel{
if(self.animationListB.count <= 0){
if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){
PresentAchieveAbstractMatrix * achieveMatrix = [self.animationListA firstObject];
[self producePresentOriflammeRegardBrectifyness:achieveMatrix];
}
return;
}
if(self.isPlayOfB == YES)return;
YUMIPresentBigCaptureMatrix *model = self.animationListB.firstObject;
if(model.type == GiftBannerType_Lucky){
[self produceConsiderableCaptureBrectifyness:model];
}else if (model.type == GiftBannerType_Love){
[self produceConfectioneryTimberOriflammeBrectifyness:model];
}else if(model.type == GiftBannerType_Nobleman){
[self produceMagnificentPrototypeUpwardsOriflammeBrectifyness:model];
}else if(model.type == GiftBannerType_kitchen){
[self produceStowardselliteKitchenOriflammeBrectifyness:model];
}else if(model.type == GiftBannerType_AnchorHour){
[self achieveKellegStundeRtowardse:model];
}else if(model.type == GiftBannerType_LicneseHour){
[self achieveLicneseStundeRtowardse:model];
}
}
#pragma mark - FBCChamberLuckyBigPrizeRegardRepresendtation
@@ -1306,11 +1377,11 @@
if (obj.otherViewType == PresentOtherRegardGenreMp4 && obj.viewUrl && obj.viewUrl.length > 0 && roomInfor.hasAnimationEffect) {
PresentAchieveAbstractMatrix * model = [[PresentAchieveAbstractMatrix alloc] init];
model.viewUrl = obj.viewUrl;
[self.presentImpressionFormation addObject:model];
[self.animationListA addObject:model];
} else if (obj.hasVggPic && roomInfor.hasAnimationEffect) {
PresentAchieveAbstractMatrix * model = [[PresentAchieveAbstractMatrix alloc] init];
model.vggUrl = obj.vggUrl;
[self.presentImpressionFormation addObject:model];
[self.animationListA addObject:model];
}
}];
}
@@ -1339,40 +1410,20 @@
if (giftInfo.otherViewType == PresentOtherRegardGenreMp4 && giftInfo.viewUrl.length > 0 && roomInfor.hasAnimationEffect) {
receiveInfo.viewUrl = giftInfo.viewUrl;
[self.presentImpressionFormation addObject:receiveInfo];
[self.animationListA addObject:receiveInfo];
} else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfor.hasAnimationEffect) {
receiveInfo.vggUrl = giftInfo.vggUrl;
[self.presentImpressionFormation addObject:receiveInfo];
[self.animationListA addObject:receiveInfo];
}
}
if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){
PresentAchieveAbstractMatrix * achieveMatrix = [self.animationListA firstObject];
[self producePresentOriflammeRegardBrectifyness:achieveMatrix];
}
if (self.presentImpressionIntratemper == nil && self.presentImpressionFormation.count > 0) {
[self inititowardseShankPresentImpressionIntrtowardsemper];
}
}
- (void)inititowardseShankPresentImpressionIntrtowardsemper {
NSTimeInterval period = 6.0;
dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), period * NSEC_PER_SEC, 0);
@kWeakify(self);
dispatch_source_set_event_handler(_timer, ^{
@kStrongify(self)
if (self.presentImpressionFormation.count > 0) {
dispatch_sync(dispatch_get_main_queue(), ^{
PresentAchieveAbstractMatrix * achieveMatrix = [self.presentImpressionFormation firstObject];
[self producePresentOriflammeRegardBrectifyness:achieveMatrix];
[self.presentImpressionFormation removeObject:achieveMatrix];
});
}else {
dispatch_source_cancel(_timer);
self.presentImpressionIntratemper = nil;
}
});
dispatch_resume(_timer);
self.presentImpressionIntratemper = _timer;
}
- (void)producePresentOriflammeRegardBrectifyness:(PresentAchieveAbstractMatrix *)receiveInfo {
PresentAbstractMatrix *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo;
@@ -1393,6 +1444,7 @@
}else{
[self.oriflammeDequePond removeObject:view];
}
self.isPlayOfA = YES;
[self transltowardsePresentOriflammeRegard:view];
[view prohibitipositionPresentOriflamme:receiveInfo users:[self manufactureOriflammeConsumers]];
view.frame = CGRectMake(KScreenWidth, 100, KScreenWidth, 153);
@@ -1451,6 +1503,19 @@
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if(finished){
[view removeFromSuperview];
self.isPlayOfA = NO;
if(self.animationListA.count > 0){
[self.animationListA removeObjectAtIndex:0];
}
if(self.animationListA.count > 0 && self.isPlayOfB == NO && self.isPlayOfA == NO){
PresentAchieveAbstractMatrix * achieveMatrix = [self.animationListA firstObject];
[self producePresentOriflammeRegardBrectifyness:achieveMatrix];
}
}
}];
[view pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
@@ -1499,7 +1564,7 @@
[self.presentImpressionRegard startAnimation];
}
} failureBlock:^(NSError * _Nullable error) {
self.presentImpressionRegard.hidden = YES;
}];
}
@@ -1784,19 +1849,9 @@
return _anatomiser;
}
- (NSMutableArray<PresentAchieveAbstractMatrix *> *)presentImpressionFormation {
if (!_presentImpressionFormation) {
_presentImpressionFormation = [NSMutableArray array];
}
return _presentImpressionFormation;
}
- (NSMutableArray<YUMIPresentBigCaptureMatrix *> *)bigCapturePresentFormation {
if (!_bigCapturePresentFormation) {
_bigCapturePresentFormation = [NSMutableArray array];
}
return _bigCapturePresentFormation;
}
- (NSMutableArray<YUMIChamberPresentBroadCastMatrix *> *)presentPingencourageFormation {
if (!_presentPingencourageFormation) {
@@ -1866,12 +1921,7 @@
return _presentVisibleGarment;
}
- (NSMutableArray *)confectioneryTimberpresentFormation {
if (!_confectioneryTimberpresentFormation) {
_confectioneryTimberpresentFormation = [NSMutableArray array];
}
return _confectioneryTimberpresentFormation;
}
- (NSMutableArray *)compoundPresentFormation {
if (!_compoundPresentFormation) {
@@ -1880,12 +1930,6 @@
return _compoundPresentFormation;
}
- (NSMutableArray *)magnificentPrototypeUpwardsFormation {
if (!_magnificentPrototypeUpwardsFormation) {
_magnificentPrototypeUpwardsFormation = [NSMutableArray array];
}
return _magnificentPrototypeUpwardsFormation;
}
- (NSMutableArray<NSDictionary *> *)automobileImpressionFormation {
if (_automobileImpressionFormation == nil) {
@@ -1977,11 +2021,17 @@
return _sequencirePresentImpressionRegard;
}
- (NSMutableArray *)satelliteKitchenFormation{
if (!_satelliteKitchenFormation){
_satelliteKitchenFormation = [NSMutableArray array];
}
return _satelliteKitchenFormation;
}
- (NSMutableArray *)animationListA{
if(!_animationListA){
_animationListA = [NSMutableArray array];
}
return _animationListA;
}
- (NSMutableArray *)animationListB{
if(!_animationListB){
_animationListB = [NSMutableArray array];
}
return _animationListB;
}
@end

View File

@@ -6,7 +6,7 @@
//
#import <UIKit/UIKit.h>
#import "YUMIPresentBigCaptureMatrix.h"
NS_ASSUME_NONNULL_BEGIN
@interface YUMIChamberConfectioneryPresentRegard : UIView

View File

@@ -6,20 +6,22 @@
//
#import <UIKit/UIKit.h>
#import "YUMIChamberSatelliteKitchenMatrix.h"
#import "YUMIPresentBigCaptureMatrix.h"
NS_ASSUME_NONNULL_BEGIN
@class YUMIChamberSatelliteKitchenOriflammeRegard;
@protocol FBCChamberStarKitchenBannerRegardRepresendtation <NSObject>
- (void)yUMIChamberStowardselliteKitchenOriflammeRegard:(YUMIChamberSatelliteKitchenOriflammeRegard *)view didClick:(YUMIChamberSatelliteKitchenMatrix *)starMatrix;
- (void)yUMIChamberStowardselliteKitchenOriflammeRegard:(YUMIChamberSatelliteKitchenOriflammeRegard *)view didClick:(YUMIPresentBigCaptureMatrix *)starMatrix;
@end
@interface YUMIChamberSatelliteKitchenOriflammeRegard : UIView
@property (nonatomic,assign) BOOL isSvga;
@property (nonatomic,strong) YUMIChamberSatelliteKitchenMatrix *starMatrix;
@property (nonatomic,strong) YUMIPresentBigCaptureMatrix *starMatrix;
@property (nonatomic,weak) id<FBCChamberStarKitchenBannerRegardRepresendtation> delegate;
@end

View File

@@ -56,7 +56,7 @@
}];
}
-(void)setStarMatrix:(YUMIChamberSatelliteKitchenMatrix *)starMatrix{
-(void)setStarMatrix:(YUMIPresentBigCaptureMatrix *)starMatrix{
_starMatrix = starMatrix;
NSString *name = _starMatrix.nick.length < 7 ? _starMatrix.nick : [NSString stringWithFormat:@"%@...",[_starMatrix.nick substringWithRange:NSMakeRange(0, 6)]];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomStarKitchenBannerView0"),name,_starMatrix.itemMultiple,_starMatrix.diamonds];