From 1ebf40f1798c82b0e914a0dd45e357b5eaab6e8c Mon Sep 17 00:00:00 2001 From: chenguilong <598604202@qq.com> Date: Tue, 11 Jan 2022 15:01:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B5=E6=97=8F=E8=A1=A8=E6=83=85=E5=8A=A0?= =?UTF-8?q?=E9=94=81=EF=BC=8C=E5=88=86=E9=A1=B5=E6=8C=87=E7=A4=BA=E5=99=A8?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xplan-ios.xcodeproj/project.pbxproj | 6 +++--- .../FaceView/View/Cell/XCGameRoomFaceCell.h | 3 +++ .../FaceView/View/Cell/XCGameRoomFaceCell.m | 20 +++++++++++++++++++ .../View/Cell/XCGameRoomFaceContainerCell.h | 3 +++ .../View/Cell/XCGameRoomFaceContainerCell.m | 15 ++++++++++++-- .../ModuleKit/FaceView/View/XPRoomFaceView.m | 16 +++++++-------- .../SendGiftView/View/XPGiftInfoView.m | 9 +++++++-- 7 files changed, 56 insertions(+), 16 deletions(-) diff --git a/xplan-ios.xcodeproj/project.pbxproj b/xplan-ios.xcodeproj/project.pbxproj index ecb8f74d..638c9754 100644 --- a/xplan-ios.xcodeproj/project.pbxproj +++ b/xplan-ios.xcodeproj/project.pbxproj @@ -2297,13 +2297,13 @@ 9B208A3C2779C30100F9E54A /* Cell */ = { isa = PBXGroup; children = ( + 9B208A412779C30100F9E54A /* XCGameRoomFaceTitleCell.h */, 9B208A3D2779C30100F9E54A /* XCGameRoomFaceTitleCell.m */, + 9B208A432779C30100F9E54A /* XCGameRoomFaceCell.h */, 9B208A3E2779C30100F9E54A /* XCGameRoomFaceCell.m */, 9B208A3F2779C30100F9E54A /* XCGameRoomFaceTitleButton.h */, - 9B208A402779C30100F9E54A /* XCGameRoomFaceContainerCell.h */, - 9B208A412779C30100F9E54A /* XCGameRoomFaceTitleCell.h */, 9B208A422779C30100F9E54A /* XCGameRoomFaceTitleButton.m */, - 9B208A432779C30100F9E54A /* XCGameRoomFaceCell.h */, + 9B208A402779C30100F9E54A /* XCGameRoomFaceContainerCell.h */, 9B208A442779C30100F9E54A /* XCGameRoomFaceContainerCell.m */, ); path = Cell; diff --git a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.h b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.h index d0a796ba..b0557c9c 100644 --- a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.h +++ b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.h @@ -25,4 +25,7 @@ */ @property (strong, nonatomic) UIImageView *nobleTagImageView; +///贵族表情锁 +@property (nonatomic, strong) UIImageView *lockImageView; + @end diff --git a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.m b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.m index 429a8b3a..8136736a 100644 --- a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.m +++ b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceCell.m @@ -26,6 +26,7 @@ [self.contentView addSubview:self.faceImageView]; [self.contentView addSubview:self.faceName]; [self.contentView addSubview:self.nobleTagImageView]; + [self.contentView addSubview:self.lockImageView]; } - (void)initConstrations { @@ -44,6 +45,11 @@ make.top.mas_equalTo(self.faceImageView.mas_bottom); make.centerX.mas_equalTo(self.faceImageView.mas_centerX); }]; + + [self.lockImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.bottom.mas_equalTo(self.contentView).mas_offset(-4); + make.width.height.mas_equalTo(16); + }]; } #pragma mark - setter & getter @@ -72,5 +78,19 @@ return _nobleTagImageView; } +- (UIImageView *)lockImageView { + if (!_lockImageView) { + _lockImageView = [self createImageView:@"room_gift_noble_lock"]; + _lockImageView.hidden = YES; + } + return _lockImageView; +} + +- (UIImageView *)createImageView:(NSString *)imageName { + UIImageView * imageView = [[UIImageView alloc] init]; + imageView.userInteractionEnabled = YES; + imageView.image = [UIImage imageNamed:imageName]; + return imageView; +} @end diff --git a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.h b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.h index 707ab92a..c3a14ab2 100644 --- a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.h +++ b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.h @@ -31,4 +31,7 @@ @property (nonatomic, weak) id delegate; +///当前用户贵族等级 +@property (nonatomic, assign) NSInteger curUserNobleLevel; + @end diff --git a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.m b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.m index 30ac0747..0615161f 100644 --- a/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.m +++ b/xplan-ios/Main/ModuleKit/FaceView/View/Cell/XCGameRoomFaceContainerCell.m @@ -55,7 +55,9 @@ UICollectionViewDelegateFlowLayout - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { self.currentIndexPath = indexPath; FaceConfigInfo *info = [self.faceInfos lookin_safeObjectAtIndex:indexPath.row]; - + if (self.curUserNobleLevel < info.faceVipInfo.vipLevel) { + return; + } if (![[XPFaceParser shareParser] getShowingFace]) { if (self.delegate && [self.delegate respondsToSelector:@selector(onSelectFace:)]) { [self.delegate onSelectFace:info]; @@ -82,7 +84,12 @@ UICollectionViewDelegateFlowLayout UIImage *face = [[XPFaceParser shareParser] findFaceIconImageById:info.id]; [cell.faceImageView setImage:face]; [cell.faceName setText:info.name]; - + if (info.faceVipInfo) {///贵族表情 + cell.lockImageView.hidden = self.curUserNobleLevel >= info.faceVipInfo.vipLevel; + } else { + cell.lockImageView.hidden = YES; + } + cell.lockImageView.hidden = self.curUserNobleLevel >= info.faceVipInfo.vipLevel; cell.nobleTagImageView.hidden = YES; } @@ -105,6 +112,10 @@ UICollectionViewDelegateFlowLayout [self.collectionView reloadData]; } +- (void)setCurUserNobleLevel:(NSInteger)curUserNobleLevel { + _curUserNobleLevel = curUserNobleLevel; + [self.collectionView reloadData]; +} #pragma mark - RoomQueueCoreClient - (void)onMicroQueueUpdate:(NSMutableDictionary *)micQueue{ diff --git a/xplan-ios/Main/ModuleKit/FaceView/View/XPRoomFaceView.m b/xplan-ios/Main/ModuleKit/FaceView/View/XPRoomFaceView.m index c2b25ba0..749d0c4b 100644 --- a/xplan-ios/Main/ModuleKit/FaceView/View/XPRoomFaceView.m +++ b/xplan-ios/Main/ModuleKit/FaceView/View/XPRoomFaceView.m @@ -87,6 +87,8 @@ @property (nonatomic,strong) XPFacePresenter *facePresenter; @property (nonatomic, strong) NIMChatroomMember *myMember; +///当前贵族等级 +@property (nonatomic, assign) NSInteger currentNobleLevel; @end @@ -172,6 +174,7 @@ ((XCGameRoomFaceContainerCell *)cell).faceInfos = [self.faceInfos lookin_safeObjectAtIndex:indexPath.section]; XCGameRoomFaceContainerCell *faceCell = (XCGameRoomFaceContainerCell *)cell; faceCell.delegate = self; + faceCell.curUserNobleLevel = self.currentNobleLevel; } } @@ -311,16 +314,10 @@ } - (void)loadFace { - if (self.selectedFaceType == RoomFaceTypeNoble) { - //如果没有贵族,默认只显示男爵表情,因为没有枚举,这里 hard code =1 - __block NSUInteger nobleLevel = 1; - self.faceInfos = [[self nobleFaceFilterByNobleLevel:nobleLevel] mutableCopy]; - - }else{ - self.faceInfos = [[XPFaceParser shareParser] getFaceInfosType:RoomFaceTypeNormal]; - } + self.faceInfos = [[XPFaceParser shareParser] getFaceInfosType:self.selectedFaceType]; - self.pageControl.hidden = NO; + self.pageControl.currentPage = 0; + self.pageControl.hidden = self.faceInfos.count <= 1; self.pageControl.numberOfPages = self.faceInfos.count; [self.faceCollectionView reloadData]; } @@ -388,6 +385,7 @@ #pragma mark - Getter & Setter - (void)setDelegate:(id)delegate { _delegate = delegate; + self.currentNobleLevel = self.delegate.getUserInfo.userVipInfoVO.vipLevel; [self getMember]; } diff --git a/xplan-ios/Main/ModuleKit/SendGiftView/View/XPGiftInfoView.m b/xplan-ios/Main/ModuleKit/SendGiftView/View/XPGiftInfoView.m index 51de04ae..bf3b6287 100644 --- a/xplan-ios/Main/ModuleKit/SendGiftView/View/XPGiftInfoView.m +++ b/xplan-ios/Main/ModuleKit/SendGiftView/View/XPGiftInfoView.m @@ -299,8 +299,13 @@ } else { self.playRuleButton.hidden = YES; } - NSUInteger page = self.datasource.count / 8; - self.pageController.hidden = page <= 0; + NSInteger page = 0; + if (self.datasource.count % 8 == 0) { //刚好满页 + page = self.datasource.count / 8; + } else { + page = self.datasource.count / 8 + 1; + } + self.pageController.hidden = page <= 1; [self.pageController setNumberOfPages:page]; self.pageController.currentPage = 0; [self.giftcollectionView reloadData];