完成房间 PK 面板基本流程
This commit is contained in:
eggmanQQQ
2024-06-16 16:18:30 +08:00
parent 49d17e1c6f
commit 3803718cb1
15 changed files with 1083 additions and 196 deletions

View File

@@ -56,6 +56,8 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
///
@property(nonatomic, strong) UIButton *gameMenuButton;
///
@property(nonatomic, strong) UIButton *pkMenuButton;
///
@property (nonatomic,strong) UIImageView *joinDatingView;
@@ -98,6 +100,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:emptyView];
[self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.joinDatingView];
[self.stackView addArrangedSubview:self.pkMenuButton];
[self.stackView addArrangedSubview:self.gameMenuButton];
}
@@ -115,6 +118,11 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
make.width.height.mas_equalTo(kGetScaleWidth(58));
}];
[self.pkMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(76, 76));
}];
[self.gameMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(76, 76));
@@ -175,8 +183,6 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
self.isLoadActivity = YES;
self.pi_cycleScrollView.hidden = NO;
if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
[self configLittleGameActivity];
} else {
@@ -222,9 +228,18 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
if (roomInfo.type == RoomType_Anchor || roomInfo.roomModeType == RoomModeType_Open_Blind) {
self.gameMenuButton.hidden = YES;
self.pkMenuButton.hidden = YES;
} else {
self.gameMenuButton.hidden = NO;
self.pkMenuButton.hidden = NO;
}
if (roomInfo.roomModeType != RoomModeType_Open_PK_Mode) {
[self.pkMenuButton removeFromSuperview];
} else {
[self.stackView addArrangedSubview:self.pkMenuButton];
}
self.redPacketView.type = roomInfo.type;
if (roomInfo.type == RoomType_MiniGame) {
self.redPacketView.hidden = YES;
@@ -536,6 +551,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.hostDelegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
}
- (void)didTapPKMenuButton {
[self.hostDelegate showPKPanel];
}
#pragma mark- PIRoomEnterRedPacketViewDelegate
-(void)openRedPacketWithModel:(XPRedPacketModel *)redModel{
if(self.openRedPacketHandle){
@@ -654,5 +673,16 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
return _gameMenuButton;
}
- (UIButton *)pkMenuButton {
if (!_pkMenuButton) {
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[UIImage imageNamed:@"room_pk_panel_mini_icon"] forState:UIControlStateNormal];
[b addTarget:self action:@selector(didTapPKMenuButton) forControlEvents:UIControlEventTouchUpInside];
b.hidden = YES;
_pkMenuButton = b;
}
return _pkMenuButton;
}
@end

View File

@@ -20,7 +20,6 @@ NS_ASSUME_NONNULL_BEGIN
- (Music *)getCurrentMusic;
///是否正在播放
- (BOOL)isPlaying;
///获取房间PK队伍的
- (NSArray *)getRoomPKGroupTeamList;
///房间内PK是否正在进行
@@ -28,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN
///更新在线人数
-(void)updateOnlineCount:(NSString *)count countList:(NSArray *)countList isUpdateCount:(BOOL)isUpdateCount;
- (void)showPKPanelView;
@end
NS_ASSUME_NONNULL_END

View File

@@ -147,7 +147,7 @@
///
@property (nonatomic,strong) XPRoomBackMusicPlayerView *musicPlayView;
///PKview
@property (nonatomic,strong) XPRoomPKProgressView *roompkPanelView;
@property (nonatomic,strong) XPRoomPKProgressView *roomPKProgressView;
///pk
@property (nonatomic,strong) RoomPKDetailInfoModel *pkDetailInfo;
///
@@ -160,7 +160,7 @@
@property (nonatomic,weak) XPWishGiftViewController* wishGiftVC ;
///线
@property(nonatomic,strong) MSRoomOnLineView *onlineView;
// PK
@property(nonatomic, strong) XPRoomPKPanelView *pkPanelView;
@end
@@ -242,20 +242,21 @@
- (NSArray *)getRoomPKGroupTeamList {
NSArray * redArray = @[];
if (self.roompkPanelView.redChooseArray > 0) {
redArray = self.roompkPanelView.redChooseArray;
if (self.pkPanelView.redChooseArray > 0) {
redArray = self.pkPanelView.redChooseArray;
}
NSArray * blueArray = @[];
if (self.roompkPanelView.blueChooseArray > 0) {
blueArray = self.roompkPanelView.blueChooseArray;
if (self.pkPanelView.blueChooseArray > 0) {
blueArray = self.pkPanelView.blueChooseArray;
}
return @[redArray, blueArray];
}
///PK
- (BOOL)isRoomPKPlaying {
return [self.roompkPanelView isRoomPKPlaying];
return [self.pkPanelView isRoomPKPlaying];
// return [self.roompkPanelView isRoomPKPlaying];
}
#pragma mark - Private Method
@@ -441,15 +442,20 @@
}
#pragma mark - PK
// MARL: -----
- (void)showPKPanel_ {
if (NO == [TTPopup hasShowPopup]) {
[TTPopup popupView:self.pkPanelView style:TTPopupStyleAlert];
// MARK: -----
- (void)showPKPanelView {
[self showPKPanel_];
}
- (void)showPKPanel_ {
// if (NO == [TTPopup hasShowPopup]) {
// [TTPopup popupView:self.pkPanelView style:TTPopupStyleAlert];
// }
[self addSubview:self.pkPanelView];
// [self.delegate.getCurrentNav present]
}
- (void)updateIsRoomManagerState {
self.pkPanelView.isManager = self.roompkPanelView.isManager;
self.pkPanelView.isManager = self.roomPKProgressView.isManager;
}
- (void)removePKPanel_ {
@@ -458,16 +464,17 @@
self.pkPanelView = nil;
}
}
// MARL: -----
// MARK: -----
- (void)configRoomPKPanelView:(BOOL)isEnter {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
if (roomInfo.roomModeType == RoomModeType_Open_PK_Mode) {
[self showPKPanel_];
self.roompkPanelView.roomInfo = roomInfo;
self.roomPKProgressView.roomInfo = roomInfo;
self.pkPanelView.roomInfo = roomInfo;
if (!self.roompkPanelView.superview) {
[self addSubview:self.roompkPanelView];
[self.roompkPanelView mas_makeConstraints:^(MASConstraintMaker *make) {
if (!self.roomPKProgressView.superview) {
[self addSubview:self.roomPKProgressView];
[self showPKPanel_];
[self.roomPKProgressView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self).offset(15);
make.top.mas_equalTo(self).offset(35 + (58 + 5 + 6 + 12) + 38 + (55 + 10 + 12 + 5+16) * 2 + 15 * 2 + kNavigationHeight + 5);
}];
@@ -481,12 +488,12 @@
if (error == nil) {
NIMChatroomMember * member = members.firstObject;
if (member.type == NIMChatroomMemberTypeCreator || member.type == NIMChatroomMemberTypeManager) {
self.roompkPanelView.isManager = YES;
self.roomPKProgressView.isManager = YES;
}else {
self.roompkPanelView.isManager = NO;
self.roomPKProgressView.isManager = NO;
}
if (isEnter) {
[self.roompkPanelView enterRoomGetRoomPKDetailInfo];
[self.roomPKProgressView enterRoomGetRoomPKDetailInfo];
[self.pkPanelView enterRoomGetRoomPKDetailInfo];
}
@@ -494,9 +501,10 @@
}
}];
} else {
if (self.roompkPanelView.superview) {
[self.roompkPanelView removeFromSuperview];
if (self.roomPKProgressView.superview) {
[self.roomPKProgressView removeFromSuperview];
}
[self removePKPanel_];
}
}
@@ -705,14 +713,17 @@
[self showAskForUpMic:attachment.data];
} else if(attachment.first == CustomMessageType_Gift && (attachment.second == Custom_Message_Sub_Gift_Send || attachment.second == Custom_Message_Sub_Gift_LuckySend || attachment.second == Custom_Message_Sub_Gift_ChannelNotify)) {
if (roomInfo.roomModeType == RoomModeType_Open_PK_Mode) {
[self.roompkPanelView roomPKReceiveGift:attachment];
[self.roomPKProgressView roomPKReceiveGift:attachment];
[self.pkPanelView roomPKReceiveGift:attachment];
}
}else if(attachment.first == CustomMessageType_AllMicroSend && (attachment.second == Custom_Message_Sub_AllMicroSend || attachment.second == Custom_Message_Sub_AllBatchSend || attachment.second == Custom_Message_Sub_AllMicroLuckySend || attachment.second == Custom_Message_Sub_AllBatchMicroLuckySend)) {
if (roomInfo.roomModeType == RoomModeType_Open_PK_Mode) {
[self.roompkPanelView roomPKReceiveGift:attachment];
[self.roomPKProgressView roomPKReceiveGift:attachment];
[self.pkPanelView roomPKReceiveGift:attachment];
}
} else if(attachment.first == CustomMessageType_Room_PK) {
[self.roompkPanelView handleRoomPKCustomMessage:attachment];
[self.roomPKProgressView handleRoomPKCustomMessage:attachment];
[self.pkPanelView handleRoomPKCustomMessage:attachment];
} else if (attachment.first == CustomMessageType_Across_Room_PK) {
///
BOOL meIsSuperAdmin = NO;
@@ -996,7 +1007,7 @@
for (NIMChatroomNotificationMember * member in content.targets) {
if (member.userId.intValue == [AccountInfoStorage instance].getUid.integerValue) {
self.editButton.hidden = NO;
self.roompkPanelView.isManager = YES;
self.roomPKProgressView.isManager = YES;
break;
}
}
@@ -1007,7 +1018,7 @@
for (NIMChatroomNotificationMember * member in content.targets) {
if (member.userId.intValue == [AccountInfoStorage instance].getUid.integerValue) {
self.editButton.hidden = YES;
self.roompkPanelView.isManager = NO;
self.roomPKProgressView.isManager = NO;
break;
}
}
@@ -1024,7 +1035,7 @@
if (self.delegate.getRoomInfo.type == RoomType_MiniGame) {
[self.littleGameMiniView needRefreshPosition:queue];
} else if(self.delegate.getRoomInfo.roomModeType == RoomModeType_Open_PK_Mode) {
self.roompkPanelView.micQueue = queue;
self.roomPKProgressView.micQueue = queue;
self.pkPanelView.micQueue = queue;
}else {
MicroQueueModel * currentUserModel;
@@ -1924,16 +1935,16 @@
- (XPRoomPKPanelView *)pkPanelView {
if (!_pkPanelView) {
_pkPanelView = [[XPRoomPKPanelView alloc] initWithFrame:CGRectMake(0, 0, 309, 379)];
_pkPanelView = [[XPRoomPKPanelView alloc] init];
}
return _pkPanelView;
}
- (XPRoomPKProgressView *)roompkPanelView {
if (!_roompkPanelView) {
_roompkPanelView = [[XPRoomPKProgressView alloc] init];
- (XPRoomPKProgressView *)roomPKProgressView {
if (!_roomPKProgressView) {
_roomPKProgressView = [[XPRoomPKProgressView alloc] init];
}
return _roompkPanelView;
return _roomPKProgressView;
}
- (XPAcrossRoomPKCountDownView *)acrossPKCountView {

View File

@@ -31,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
- (BOOL)isManagerOrOwner;
- (void)exitRoom;
- (void)miniRoom;
- (void)showPKPanel;
- (UINavigationController *)getCurrentNav;
-(UIView *)getSuperView;
- (NSArray *)getRoomSuperAdminList;

View File

@@ -8,5 +8,24 @@
#import "RoomPKChooseUserModel.h"
@implementation RoomPKChooseUserModel
- (BOOL)isEqual:(id)object {
if (self == object) {
return YES;
}
if (![object isKindOfClass:[RoomPKChooseUserModel class]]) {
return NO;
}
RoomPKChooseUserModel *other = (RoomPKChooseUserModel *)object;
return [self.uid isEqualToString:other.uid] &&
[self.nick isEqualToString:other.nick] &&
[self.avatar isEqualToString:self.avatar] &&
self.groupType == other.groupType &&
self.isSelect == other.isSelect &&
self.isEnableChoose == other.isEnableChoose;
}
- (NSUInteger)hash {
return self.nick.hash ^ self.uid.integerValue;
}
@end

View File

@@ -6,6 +6,7 @@
//
#import <UIKit/UIKit.h>
@class RoomPKChooseUserModel;
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger,XPRoomPKPaneAvatarType) {
@@ -19,9 +20,18 @@ typedef NS_ENUM(NSInteger,XPRoomPKPaneAvatarType) {
// XPRoomPKPaneAvatarType_Leader_Blue_Default,
};
@protocol XPRoomPKPanelUserViewDelegate <NSObject>
///选择红队还是蓝队的添加人
- (void)didTapAvatar:(RoomPKChooseUserModel *)userModel didClickAddButton:(GroupType)gType;
@end
@interface XPRoomPKPaneAvatarView : UIView
@property (nonatomic, assign) GroupType gType;
@property (nonatomic, assign) XPRoomPKPaneAvatarType type;
@property (nonatomic, weak) id<XPRoomPKPanelUserViewDelegate> delegate;
@property (nonatomic, strong) RoomPKChooseUserModel *userModel;
@property (nonatomic, copy) void (^didTapAvatar)(XPRoomPKPaneAvatarType type);
@end

View File

@@ -7,6 +7,8 @@
#import "XPRoomPKPaneAvatarView.h"
#import "RoomPKChooseUserModel.h"
@interface XPRoomPKPaneAvatarView()
@property (nonatomic, strong) UIImageView *avatarBackgroundImageView;
@@ -20,6 +22,7 @@
if (self = [super initWithFrame:frame]) {
self.clipsToBounds = NO;
[self setupUI];
[self setupGesture];
}
return self;
}
@@ -48,6 +51,11 @@
if (_didTapAvatar) {
_didTapAvatar(self.type);
}
if (self.delegate) {
[self.delegate didTapAvatar:self.userModel
didClickAddButton:self.gType];
}
}
- (void)setType:(XPRoomPKPaneAvatarType)type {
@@ -57,25 +65,39 @@
self.avatarBackgroundImageView.image = [UIImage imageNamed:@"room_pk_avatar_bg_red"];
self.avatarImageView.hidden = YES;
self.avatarImageView.layer.cornerRadius = 15;
self.gType = GroupType_Red;
break;
case XPRoomPKPaneAvatarType_Blue:
self.avatarBackgroundImageView.image = [UIImage imageNamed:@"room_pk_avatar_bg_blue"];
self.avatarImageView.hidden = YES;
self.avatarImageView.layer.cornerRadius = 15;
self.gType = GroupType_Blue;
break;
case XPRoomPKPaneAvatarType_Leader_Red:
self.avatarBackgroundImageView.image = [UIImage imageNamed:@"room_pk_avatar_bg_red"];
self.avatarImageView.layer.cornerRadius = 31;
self.gType = GroupType_Red;
break;
case XPRoomPKPaneAvatarType_Leader_Blue:
self.avatarBackgroundImageView.image = [UIImage imageNamed:@"room_pk_avatar_bg_blue"];
self.avatarImageView.layer.cornerRadius = 31;
self.gType = GroupType_Blue;
break;
default:
break;
}
}
- (void)setUserModel:(RoomPKChooseUserModel *)userModel
{
_userModel = userModel;
if (_userModel) {
self.avatarImageView.imageUrl = userModel.avatar;
}
self.avatarImageView.hidden = _userModel == nil;
}
#pragma mark -
- (UIImageView *)avatarBackgroundImageView {
if (!_avatarBackgroundImageView) {

View File

@@ -149,6 +149,35 @@
if (model.isSelect && selectModel == nil) {
[self.chooseArray addObject:model];
}
// @kWeakify(self);
// dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// @kStrongify(self);
// [self.chooseArray enumerateObjectsUsingBlock:^(RoomPKChooseUserModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// if (obj.uid == model.uid) {
// selectModel = obj;
// *stop = YES;
// }
// }];
// if (selectModel) {
// selectModel.groupType = model.isSelect ? model.groupType : GroupType_default;
// selectModel.isSelect = model.isSelect;
// }
// if (model.isSelect) {
// if (![self.chooseArray containsObject:model]) {
// [self.chooseArray addObject:model];
// }
// } else {
// if ([self.chooseArray containsObject:model]) {
// [self.chooseArray removeObject:model];
// } else {
// [self.chooseArray removeObject:selectModel];
// }
// }
// dispatch_async(dispatch_get_main_queue(), ^{
// [self.collectionView reloadData];
// });
// });
}
[self.collectionView reloadData];
}

View File

@@ -24,6 +24,13 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong, readonly) NSArray<RoomPKChooseUserModel *> *blueChooseArray;
- (void)enterRoomGetRoomPKDetailInfo;
///处理pK的状态
- (void)handleRoomPKCustomMessage:(AttachmentModel *)attachment;
- (BOOL)isRoomPKPlaying;
///收到礼物
- (void)roomPKReceiveGift:(AttachmentModel *)attachment;
@end

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,6 @@
#import "XPRoomPKPanelUserView.h"
#import "XPRoomPKSelectUserView.h"
#import "XPRoomPKPlayingView.h"
#import "XPRoomPKPlayingView.h"
#import "XPRoomPKResultView.h"
#import "XPArrangeMicViewController.h"
@@ -139,9 +138,9 @@
}
}
if (pkInfo.pkStatus == RoomPKStatusType_End) {
XPRoomPKResultView * result = [[XPRoomPKResultView alloc] init];
result.roomPKResultInfoModel = pkInfo;
[TTPopup popupView:result style:TTPopupStyleAlert];
// XPRoomPKResultView * result = [[XPRoomPKResultView alloc] init];
// result.roomPKResultInfoModel = pkInfo;
// [TTPopup popupView:result style:TTPopupStyleAlert];
}
[self handleRoomPKInfoChangeState];
} else if(attachment.second == Custom_Message_Sub_Room_PK_Mode_Close) {
@@ -728,8 +727,6 @@
if (redScale == 1) {
redScale = 0.99;
}
[self.redProgressView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(85 * 2 * redScale);
}];
@@ -760,7 +757,7 @@
[TTPopup popupView:self.roomPKPlayingView style:TTPopupStyleAlert];
return;
}
// TODO:
if (self.isManager) {
XPRoomPKSelectUserView * chooseUserView = [[XPRoomPKSelectUserView alloc] init];
chooseUserView.delegate = self;

View File

@@ -26,8 +26,7 @@
@interface XPRoomPKResultView ()
///
@property (nonatomic,strong) UIImageView *topImageView;
///
@property (nonatomic,strong) UIImageView *bottomImageView;
///
@property (nonatomic,strong) UIImageView *contentImageView;
///
@@ -81,7 +80,6 @@
- (void)initSubViews {
[self addSubview:self.contentImageView];
[self addSubview:self.topImageView];
[self addSubview:self.bottomImageView];
[self.contentImageView addSubview:self.stackView];
[self.contentImageView addSubview:self.resultButton];
@@ -104,9 +102,10 @@
}
- (void)initSubViewConstraints {
// frame
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(KScreenWidth);
make.bottom.mas_equalTo(self.bottomImageView.mas_bottom);
make.bottom.mas_equalTo(-100);
}];
[self.topImageView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -121,13 +120,6 @@
make.height.mas_equalTo(170); //
}];
[self.bottomImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.contentImageView.mas_bottom).offset(-6);
make.centerX.mas_equalTo(self);
make.width.mas_equalTo(375);
make.height.mas_equalTo(16);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.contentImageView).offset(48);
make.leading.mas_equalTo(self.contentImageView).offset(20);
@@ -301,15 +293,12 @@
if (self.roomPKResultInfoModel.result == RoomPKResultType_Draw) { // win
//
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_draw_bg"];
} else if(self.roomPKResultInfoModel.result == RoomPKResultType_Blue) { // loser
// win
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
} else {
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_loser_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
}
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView0") forState:UIControlStateNormal];
@@ -345,14 +334,11 @@
if (self.roomPKResultInfoModel.result == RoomPKResultType_Red) { // win
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
} else if (self.roomPKResultInfoModel.result == RoomPKResultType_Blue) { // loser
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_loser_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.failDesLabel.hidden = NO;
} else { //
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_draw_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
}
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView3") forState:UIControlStateNormal];
[self.checkButton setTitle:YMLocalizedString(@"XPRoomPKResultView4") forState:UIControlStateNormal];
@@ -389,15 +375,12 @@
if (self.isChecOther) { //
if (self.roomPKResultInfoModel.result == RoomPKResultType_Draw) { // win
//
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_draw_bg"];
} else if(self.roomPKResultInfoModel.result == RoomPKResultType_Blue) { // loser
// win
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_loser_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
} else {
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
}
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView6") forState:UIControlStateNormal];
@@ -432,13 +415,10 @@
if (self.roomPKResultInfoModel.result == RoomPKResultType_Blue) { // win
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
} else if (self.roomPKResultInfoModel.result == RoomPKResultType_Red) { // loser
self.failDesLabel.hidden = NO;
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_loser_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
} else { //
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_draw_bg"];
}
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView9") forState:UIControlStateNormal];
@@ -476,7 +456,7 @@
// , ,
if (self.isChecOther) { //
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_loser_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.contentImageView.image = [UIImage imageNamed:@"room_pk_panel_bg_draw"];
if (self.roomPKResultInfoModel.result == RoomPKResultType_Blue) {
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView6") forState:UIControlStateNormal];
[self.resultButton setTitleColor:kRedTeamColor forState:UIControlStateNormal];
@@ -521,15 +501,15 @@
[self loadTeamMemberUserAvatar:bluePKTeam.teamMembers mvpUserId:bluePKTeam.mvp];
[self.contentImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(bgHeight); //
make.height.mas_equalTo(304); //
}];
return; //
}
//
if (self.roomPKResultInfoModel.result == RoomPKResultType_Blue) { // win
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
self.contentImageView.image = [UIImage imageNamed:@"room_pk_panel_bg_win"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_panel_result_win"];
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView18") forState:UIControlStateNormal];
[self.resultButton setTitleColor:kBlueTeamColor forState:UIControlStateNormal];
[self.checkButton setTitle:YMLocalizedString(@"XPRoomPKResultView10") forState:UIControlStateNormal];
@@ -547,8 +527,8 @@
self.guardScoreLable.content = [NSString stringWithFormat:@"%lld", bluePKTeam.protecScore];
[self loadTeamMemberUserAvatar:bluePKTeam.teamMembers mvpUserId:bluePKTeam.mvp];
} else if (self.roomPKResultInfoModel.result == RoomPKResultType_Red) { // loser
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_win_bg"];
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_win_bg"];
self.contentImageView.image = [UIImage imageNamed:@"room_pk_panel_bg_draw"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_panel_result_fail"];
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView21") forState:UIControlStateNormal];
[self.resultButton setTitleColor:kRedTeamColor forState:UIControlStateNormal];
[self.checkButton setTitle:YMLocalizedString(@"XPRoomPKResultView13") forState:UIControlStateNormal];
@@ -566,8 +546,8 @@
self.guardScoreLable.content = [NSString stringWithFormat:@"%lld", redPKTeam.protecScore];
[self loadTeamMemberUserAvatar:redPKTeam.teamMembers mvpUserId:redPKTeam.mvp];
} else { //
self.bottomImageView.image = [UIImage imageNamed:@"room_pk_result_bottom_loser_bg"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_result_top_draw_bg"];
self.contentImageView.image = [UIImage imageNamed:@"room_pk_panel_bg_draw"];
self.topImageView.image = [UIImage getLanguageImage:@"room_pk_panel_result_draw"];
[self.resultButton setTitle:YMLocalizedString(@"XPRoomPKResultView24") forState:UIControlStateNormal];
[self.resultButton setTitleColor:kRedTeamColor forState:UIControlStateNormal];
self.checkButton.hidden = YES;
@@ -578,14 +558,14 @@
[self loadTeamMemberUserAvatar:redPKTeam.teamMembers mvpUserId:redPKTeam.mvp];
}
CGFloat bgHeight = 200;
CGFloat bgHeight = 259;
if (self.roomPKResultInfoModel.result == RoomPKResultType_Draw || self.roomPKResultInfoModel.voteMode == RoomPKVoteModeType_NumberPerson) {
self.guardScoreLable.hidden = YES;
self.guardPersonLable.hidden = YES;
} else {
self.guardScoreLable.hidden = NO;
self.guardPersonLable.hidden = NO;
bgHeight = 264;
bgHeight = 304;
}
[self.contentImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(bgHeight); //
@@ -604,19 +584,11 @@
if (!_contentImageView) {
_contentImageView = [[UIImageView alloc] init];
_contentImageView.userInteractionEnabled = YES;
_contentImageView.image = [UIImage imageNamed:@"room_pk_result_content_bg"];
_contentImageView.image = [UIImage imageNamed:@"room_pk_panel_bg_draw"];
}
return _contentImageView;
}
- (UIImageView *)bottomImageView {
if (!_bottomImageView) {
_bottomImageView = [[UIImageView alloc] init];
_bottomImageView.userInteractionEnabled = YES;
}
return _bottomImageView;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];

View File

@@ -2142,6 +2142,10 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
}
}
- (void)showPKPanel {
[self.functionView showPKPanelView];
}
- (UINavigationController *)getCurrentNav {
return self.navigationController;
}

View File

@@ -150,6 +150,10 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic,assign) BOOL isRechargeUser;
///pk时不能禁麦
@property(nonatomic,assign) BOOL isNoProhibitMic;
- (BOOL)isUserValid;
- (NSString *)userIDString;
@end
NS_ASSUME_NONNULL_END

View File

@@ -31,4 +31,29 @@
};
}
- (BOOL)isUserValid {
return self.uid > 0;
}
- (NSString *)userIDString {
return [NSString stringWithFormat:@"%ld", (long)self.uid];
}
- (BOOL)isEqual:(id)object {
if (self == object) {
return YES;
}
if (![object isKindOfClass:[UserInfoModel class]]) {
return NO;
}
UserInfoModel *other = (UserInfoModel *)object;
return self.uid == other.uid &&
[self.nick isEqualToString:other.nick] &&
[self.avatar isEqualToString:self.avatar];
}
- (NSUInteger)hash {
return self.nick.hash ^ self.uid;
}
@end