Files
peko-ios/YuMi/Modules/YMRoom/View/AcrossRoomPK/View/SubViews/XPAcrossRoomPKResultView.m
2023-08-04 11:47:43 +08:00

514 lines
18 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// YMAcrossRoomPKResultView.m
// YUMI
//
// Created by YUMI on 2022/1/12.
//
#import "XPAcrossRoomPKResultView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NetImageView.h"
#import "TTPopup.h"
#import "NSArray+Safe.h"
///Model
#import "AcrossRoomPKPanelModel.h"
@interface XPAcrossRoomPKResultView()
/** bgImageView */
@property (nonatomic, strong) UIImageView *bgImageView;
///关闭
@property (nonatomic, strong) UIButton *closeBtn;
///内容view
@property (nonatomic, strong) UIView *mainView;
///红队背景
@property (nonatomic, strong) UIImageView *redBgImageView;
///红队赢icon
@property (nonatomic, strong) UIImageView *redWinIconView;
///红队头像
@property (nonatomic, strong) NetImageView *redHeadImageView;
///红队厅名
@property (nonatomic, strong) UILabel *redRoomTitleLabel;
///红队礼物值
@property (nonatomic, strong) UILabel *redValueLabel;
///中间PKicon
@property (nonatomic, strong) UIImageView *middleImageView;
///蓝队背景
@property (nonatomic, strong) UIImageView *blueBgImageView;
///蓝队赢icon
@property (nonatomic, strong) UIImageView *blueWinIconView;
///蓝队头像
@property (nonatomic, strong) NetImageView *blueHeadImageView;
///蓝队厅名
@property (nonatomic, strong) UILabel *blueRoomTitleLabel;
///蓝队礼物值
@property (nonatomic, strong) UILabel *blueValueLabel;
///贡献榜背景
@property (nonatomic, strong) UIImageView *contributeBgImageView;
///贡献榜头像
@property (nonatomic, strong) NetImageView *contributeAvatar;
///贡献榜头饰
@property (nonatomic, strong) UIImageView *contributeHeadWear;
///贡献榜昵称
@property (nonatomic, strong) UILabel *contributeNick;
///贡献值
@property (nonatomic, strong) UILabel *contributeValue;
///魅力榜背景
@property (nonatomic, strong) UIImageView *charmBgImageView;
///魅力榜头像
@property (nonatomic, strong) NetImageView *charmAvatar;
///魅力榜头饰
@property (nonatomic, strong) UIImageView *charmHeadWear;
///魅力榜昵称
@property (nonatomic, strong) UILabel *charmNick;
///魅力值
@property (nonatomic, strong) UILabel *charmValue;
@end
@implementation XPAcrossRoomPKResultView
#pragma mark - life cycle
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self initView];
[self initConstrations];
}
return self;
}
- (void)initView {
[self addSubview:self.bgImageView];
[self addSubview:self.closeBtn];
[self addSubview:self.mainView];
[self.mainView addSubview:self.redBgImageView];
[self.mainView addSubview:self.redWinIconView];
[self.mainView addSubview:self.redHeadImageView];
[self.mainView addSubview:self.redRoomTitleLabel];
[self.mainView addSubview:self.redValueLabel];
[self.mainView addSubview:self.blueBgImageView];
[self.mainView addSubview:self.blueWinIconView];
[self.mainView addSubview:self.blueHeadImageView];
[self.mainView addSubview:self.blueRoomTitleLabel];
[self.mainView addSubview:self.blueValueLabel];
[self.mainView addSubview:self.middleImageView];
[self.mainView addSubview:self.contributeBgImageView];
[self.mainView addSubview:self.contributeAvatar];
[self.mainView addSubview:self.contributeHeadWear];
[self.mainView addSubview:self.contributeNick];
[self.mainView addSubview:self.contributeValue];
[self.mainView addSubview:self.charmBgImageView];
[self.mainView addSubview:self.charmAvatar];
[self.mainView addSubview:self.charmHeadWear];
[self.mainView addSubview:self.charmNick];
[self.mainView addSubview:self.charmValue];
}
- (void)initConstrations {
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(0);
}];
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.right.mas_equalTo(0);
make.width.height.mas_equalTo(22);
}];
[self.mainView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(120);
make.left.mas_equalTo(15);
make.right.mas_equalTo(-15);
make.bottom.mas_equalTo(-23);
}];
[self.redBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(12);
make.left.mas_equalTo(6);
make.width.mas_equalTo(151);
make.height.mas_equalTo(135);
}];
[self.redWinIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(_redBgImageView);
make.left.mas_equalTo(18);
make.width.mas_equalTo(49);
make.height.mas_equalTo(27);
}];
[self.redHeadImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(34);
make.left.mas_equalTo(47);
make.width.height.mas_equalTo(60);
}];
[self.redRoomTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.redHeadImageView.mas_bottom).mas_offset(8);
make.centerX.mas_equalTo(self.redHeadImageView);
make.height.mas_equalTo(12);
make.left.mas_equalTo(self.redBgImageView.mas_left).mas_offset(20);
}];
[self.redValueLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.redHeadImageView);
make.top.mas_equalTo(self.redRoomTitleLabel.mas_bottom).offset(8);
make.left.mas_equalTo(self.redBgImageView.mas_left).mas_offset(20);
}];
[self.middleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(60);
make.centerX.mas_equalTo(self.mainView);
make.width.mas_equalTo(70);
make.height.mas_equalTo(49);
}];
[self.blueBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(18);
make.right.mas_equalTo(-6);
make.width.mas_equalTo(151);
make.height.mas_equalTo(135);
}];
[self.blueWinIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.blueBgImageView);
make.right.mas_equalTo(-16);
make.width.mas_equalTo(49);
make.height.mas_equalTo(27);
}];
[self.blueHeadImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(41);
make.right.mas_equalTo(-47);
make.width.height.mas_equalTo(60);
}];
[self.blueRoomTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.blueHeadImageView.mas_bottom).mas_offset(8);
make.centerX.mas_equalTo(self.blueHeadImageView);
make.height.mas_equalTo(12);
make.left.mas_equalTo(self.blueBgImageView.mas_left).mas_offset(16);
}];
[self.blueValueLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.blueHeadImageView);
make.top.mas_equalTo(self.blueRoomTitleLabel.mas_bottom).offset(8);
make.left.mas_equalTo(self.blueBgImageView.mas_left).mas_offset(16);
}];
[self.contributeBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(0);
make.top.mas_equalTo(self.blueBgImageView.mas_bottom).mas_offset(10);
make.height.mas_equalTo(64);
}];
[self.contributeAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(70);
make.bottom.mas_equalTo(self.contributeBgImageView.mas_bottom).mas_offset(-6);
make.width.height.mas_equalTo(44);
}];
[self.contributeHeadWear mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contributeAvatar);
make.bottom.mas_equalTo(self.contributeAvatar);
make.width.mas_equalTo(44);
make.height.mas_equalTo(53);
}];
[self.contributeNick mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contributeHeadWear.mas_right).mas_offset(7);
make.bottom.mas_equalTo(self.contributeAvatar.mas_centerY).mas_offset(-3);
make.height.mas_equalTo(14);
make.right.mas_equalTo(-20);
}];
[self.contributeValue mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contributeNick);
make.top.mas_equalTo(self.contributeNick.mas_bottom).mas_offset(6);
make.height.mas_equalTo(13);
make.right.mas_equalTo(-20);
}];
[self.charmBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(0);
make.top.mas_equalTo(self.contributeBgImageView.mas_bottom).mas_offset(6);
make.height.mas_equalTo(64);
}];
[self.charmAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(70);
make.bottom.mas_equalTo(self.charmBgImageView.mas_bottom).mas_offset(-6);
make.width.height.mas_equalTo(44);
}];
[self.charmHeadWear mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.charmAvatar);
make.bottom.mas_equalTo(self.charmAvatar);
make.width.mas_equalTo(44);
make.height.mas_equalTo(53);
}];
[self.charmNick mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.charmHeadWear.mas_right).mas_offset(7);
make.bottom.mas_equalTo(self.charmAvatar.mas_centerY).mas_offset(-3);
make.height.mas_equalTo(14);
make.right.mas_equalTo(-20);
}];
[self.charmValue mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.charmNick);
make.top.mas_equalTo(self.charmNick.mas_bottom).mas_offset(6);
make.height.mas_equalTo(13);
make.right.mas_equalTo(-20);
}];
}
- (void)setData:(AcrossRoomPKPanelModel *)data {
if (data.winUid == data.cUid) {//赢
self.bgImageView.image = [UIImage imageNamed:@"room_across_pk_result_win_bg"];
self.contributeBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_win_person_bg"];
self.charmBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_win_person_bg"];
[self.closeBtn setImage:[UIImage imageNamed:@"room_across_pk_result_win_close"] forState:UIControlStateNormal];
self.redWinIconView.hidden = NO;
self.blueWinIconView.hidden = YES;
} else if (data.winUid == data.aUid) {//输
self.bgImageView.image = [UIImage imageNamed:@"room_across_pk_result_fail_bg"];
self.contributeBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_fail_person_bg"];
self.charmBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_fail_person_bg"];
[self.closeBtn setImage:[UIImage imageNamed:@"room_across_pk_result_fail_close"] forState:UIControlStateNormal];
self.redWinIconView.hidden = YES;
self.blueWinIconView.hidden = NO;
} else {//平局
self.bgImageView.image = [UIImage imageNamed:@"room_across_pk_result_tie_bg"];
self.contributeBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_tie_person_bg"];
self.charmBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_tie_person_bg"];
[self.closeBtn setImage:[UIImage imageNamed:@"room_across_pk_result_tie_close"] forState:UIControlStateNormal];
self.redWinIconView.hidden = YES;
self.blueWinIconView.hidden = YES;
}
self.redHeadImageView.imageUrl = data.cAvatar;
self.blueHeadImageView.imageUrl = data.aAvatar;
self.redRoomTitleLabel.text = data.cTitle;
self.blueRoomTitleLabel.text = data.aTitle;
self.redValueLabel.text = [NSString stringWithFormat:@"%lld", data.cAmount];
self.blueValueLabel.text = [NSString stringWithFormat:@"%lld", data.aAmount];
if (data.csRank.count > 0) {//有贡献
AcrossRoomPkRankModel *contributeInfo = [data.csRank safeObjectAtIndex1:0];
self.contributeNick.text = contributeInfo.nick ? contributeInfo.nick : @"";
self.contributeValue.text = [NSString stringWithFormat:@"%@%@",YMLocalizedString(@"XPAcrossRoomPKResultView0"), contributeInfo.amount? contributeInfo.amount : @""];
self.contributeAvatar.imageUrl = contributeInfo.avatar;
}
if (data.crRank.count > 0) {
AcrossRoomPkRankModel *charmInfo = [data.crRank safeObjectAtIndex1:0];
self.charmNick.text = charmInfo.nick ? charmInfo.nick : @"";
self.charmValue.text = [NSString stringWithFormat:@"%@%@",YMLocalizedString(@"XPAcrossRoomPKResultView1"), charmInfo.amount? charmInfo.amount : @""];
self.charmAvatar.imageUrl = charmInfo.avatar;
}
}
- (void)onCloseBtnClick:(UIButton *)btn {
[TTPopup dismiss];
}
#pragma mark - getters and setters
- (UIImageView *)bgImageView {
if (!_bgImageView) {
_bgImageView = [[UIImageView alloc] init];
_bgImageView.image = [UIImage imageNamed:@"room_across_pk_result_win_bg"];
}
return _bgImageView;
}
- (UIButton *)closeBtn {
if (!_closeBtn) {
_closeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_closeBtn addTarget:self action:@selector(onCloseBtnClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _closeBtn;
}
- (UIView *)mainView {
if (!_mainView) {
_mainView = [[UIView alloc] init];
}
return _mainView;
}
- (UIImageView *)redBgImageView {
if (!_redBgImageView) {
_redBgImageView = [[UIImageView alloc] init];
_redBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_red_bg"];
}
return _redBgImageView;
}
- (UIImageView *)redWinIconView {
if (!_redWinIconView) {
_redWinIconView = [[UIImageView alloc] init];
_redWinIconView.image = [UIImage imageNamed:@"room_across_pk_result_win_icon"];
}
return _redWinIconView;
}
- (NetImageView *)redHeadImageView {
if (!_redHeadImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_redHeadImageView = [[NetImageView alloc] initWithConfig:config];
_redHeadImageView.layer.cornerRadius = 30;
_redHeadImageView.layer.masksToBounds = YES;
_redHeadImageView.layer.borderWidth = 1;
_redHeadImageView.layer.borderColor = [UIColor whiteColor].CGColor;
}
return _redHeadImageView;
}
- (UILabel *)redRoomTitleLabel {
if (!_redRoomTitleLabel) {
_redRoomTitleLabel = [[UILabel alloc] init];
_redRoomTitleLabel.textColor = [UIColor whiteColor];
_redRoomTitleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_redRoomTitleLabel.textAlignment = NSTextAlignmentCenter;
}
return _redRoomTitleLabel;
}
- (UILabel *)redValueLabel {
if (!_redValueLabel) {
_redValueLabel = [[UILabel alloc] init];
_redValueLabel.textColor = [UIColor whiteColor];
_redValueLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightBold];
_redValueLabel.textAlignment = NSTextAlignmentCenter;
}
return _redValueLabel;
}
- (UIImageView *)middleImageView {
if (!_middleImageView) {
_middleImageView = [[UIImageView alloc] init];
_middleImageView.image = [UIImage imageNamed:@"room_across_pk_result_pk_icon"];
}
return _middleImageView;
}
- (UIImageView *)blueBgImageView {
if (!_blueBgImageView) {
_blueBgImageView = [[UIImageView alloc] init];
_blueBgImageView.image = [UIImage imageNamed:@"room_across_pk_result_win_blue_bg"];
}
return _blueBgImageView;
}
- (UIImageView *)blueWinIconView {
if (!_blueWinIconView) {
_blueWinIconView = [[UIImageView alloc] init];
_blueWinIconView.image = [UIImage imageNamed:@"room_across_pk_result_win_icon"];
}
return _blueWinIconView;
}
- (NetImageView *)blueHeadImageView {
if (!_blueHeadImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_blueHeadImageView = [[NetImageView alloc] initWithConfig:config];
_blueHeadImageView.layer.masksToBounds = YES;
_blueHeadImageView.layer.cornerRadius = 30;
_blueHeadImageView.layer.borderWidth = 1;
_blueHeadImageView.layer.borderColor = [UIColor whiteColor].CGColor;
}
return _blueHeadImageView;
}
- (UILabel *)blueRoomTitleLabel {
if (!_blueRoomTitleLabel) {
_blueRoomTitleLabel = [[UILabel alloc] init];
_blueRoomTitleLabel.textColor = [UIColor whiteColor];
_blueRoomTitleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_blueRoomTitleLabel.textAlignment = NSTextAlignmentCenter;
}
return _blueRoomTitleLabel;
}
- (UILabel *)blueValueLabel {
if (!_blueValueLabel) {
_blueValueLabel = [[UILabel alloc] init];
_blueValueLabel.textColor = [UIColor whiteColor];
_blueValueLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightBold];
_blueValueLabel.textAlignment = NSTextAlignmentCenter;
}
return _blueValueLabel;
}
- (UIImageView *)contributeBgImageView {
if (!_contributeBgImageView) {
_contributeBgImageView = [[UIImageView alloc] init];
}
return _contributeBgImageView;
}
- (NetImageView *)contributeAvatar {
if (!_contributeAvatar) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_contributeAvatar = [[NetImageView alloc] initWithConfig:config];
_contributeAvatar.layer.masksToBounds = YES;
_contributeAvatar.layer.cornerRadius = 22;
}
return _contributeAvatar;
}
- (UIImageView *)contributeHeadWear {
if (!_contributeHeadWear) {
_contributeHeadWear = [[UIImageView alloc] init];
_contributeHeadWear.image = [UIImage imageNamed:@"room_across_pk_panel_contribute_head"];
}
return _contributeHeadWear;
}
- (UILabel *)contributeNick {
if (!_contributeNick) {
_contributeNick = [[UILabel alloc] init];
_contributeNick.textColor = [UIColor whiteColor];
_contributeNick.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
}
return _contributeNick;
}
- (UILabel *)contributeValue {
if (!_contributeValue) {
_contributeValue = [[UILabel alloc] init];
_contributeValue.textColor = [UIColor whiteColor];
_contributeValue.font = [UIFont systemFontOfSize:13];
}
return _contributeValue;
}
- (UIImageView *)charmBgImageView {
if (!_charmBgImageView) {
_charmBgImageView = [[UIImageView alloc] init];
}
return _charmBgImageView;
}
- (NetImageView *)charmAvatar {
if (!_charmAvatar) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_charmAvatar = [[NetImageView alloc] initWithConfig:config];
_charmAvatar.layer.masksToBounds = YES;
_charmAvatar.layer.cornerRadius = 22;
}
return _charmAvatar;
}
- (UIImageView *)charmHeadWear {
if (!_charmHeadWear) {
_charmHeadWear = [[UIImageView alloc] init];
_charmHeadWear.image = [UIImage imageNamed:@"room_across_pk_panel_charm_head"];
}
return _charmHeadWear;
}
- (UILabel *)charmNick {
if (!_charmNick) {
_charmNick = [[UILabel alloc] init];
_charmNick.textColor = [UIColor whiteColor];
_charmNick.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
}
return _charmNick;
}
- (UILabel *)charmValue {
if (!_charmValue) {
_charmValue = [[UILabel alloc] init];
_charmValue.textColor = [UIColor whiteColor];
_charmValue.font = [UIFont systemFontOfSize:13];
}
return _charmValue;
}
@end