删除与星级厨房相关的所有图像资源及其配置文件,包括 room_star_kitchen.imageset 及其内容;在 AttachmentModel.h 中移除与星级厨房相关的枚举值,确保代码整洁性;更新多个本地化字符串文件,移除与 XPRoomStarKitchenBannerView 相关的条目,确保语言支持的一致性。

This commit is contained in:
edwinQQQ
2025-08-12 14:07:38 +08:00
parent 259ac3e2d3
commit 6fd831ff42
16 changed files with 9125 additions and 345 deletions

View File

@@ -1,32 +0,0 @@
//
// XPRoomStarKitchenModel.h
// YuMi
//
// Created by YuMi on 2023/6/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPRoomStarKitchenModel : PIBaseModel
@property (nonatomic,copy) NSString *skipUrl;
///用户id
@property (nonatomic,copy) NSString *uid;
///昵称
@property (nonatomic,copy) NSString *nick;
///房间id
@property (nonatomic,copy) NSString *roomUid;
///中奖选项id
@property (nonatomic,copy) NSString *itemId;
///倍数
@property (nonatomic,copy) NSString *itemMultiple;
///钻石
@property (nonatomic,copy) NSString *diamonds;
///bannerId
@property (nonatomic,copy) NSString * bannerId;
///需要的等级
@property (nonatomic,assign) NSInteger needLevel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// XPRoomStarKitchenModel.m
// YuMi
//
// Created by YuMi on 2023/6/21.
//
#import "XPRoomStarKitchenModel.h"
@implementation XPRoomStarKitchenModel
@end

View File

@@ -66,7 +66,7 @@
#import "PIRoomGiftBroadcastWindow.h"
#import "XPRoomDatingAnimationView.h"
#import "XPRoomAnchorRankBannerView.h"
#import "XPRoomStarKitchenBannerView.h"
#import "XPRoomGraffitiGiftAnimationView.h"
static const CGFloat kTipViewStayDuration = 3.0;
@@ -84,7 +84,7 @@ XPRoomGiftBroadcastViewDelegate,
XPRoomLuckyBigPrizeViewDelegate,
PIRoomGiftBroadcastWindowDelegate,
XPRoomAnchorRankBannerViewDelegate,
XPRoomStarKitchenBannerViewDelegate,
XPRoomGraffitiGiftAnimationViewDelegate
>
@@ -1836,9 +1836,7 @@ XPRoomGraffitiGiftAnimationViewDelegate
return;
}
switch (attachment.second) {
case Custom_Message_Sub_Star_Kitchen_FullScreen:
[self receiveRoomGraffitiStarKitchen:attachment];
break;
default:
break;
@@ -2533,59 +2531,9 @@ XPRoomGraffitiGiftAnimationViewDelegate
};
}
-(void)receiveRoomGraffitiStarKitchen:(AttachmentModel *)attacment{
PIBaseAnimationViewModel *roomGraffiti = [PIBaseAnimationViewModel new];
roomGraffiti.data = attacment.data;
roomGraffiti.type = GiftBannerType_kitchen;
roomGraffiti.first = attacment.first;
roomGraffiti.second = attacment.second;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self createStarKitchenBannerAnimation:roomGraffiti];
}
[self.animationListB addObject:roomGraffiti];
}
- (void)createStarKitchenBannerAnimation:(PIBaseAnimationViewModel *)attacment{
self.isPlayOfB = YES;
CGFloat top = (kNavigationHeight + 15);
XPRoomStarKitchenBannerView *starKitchenView = [[XPRoomStarKitchenBannerView alloc]initWithFrame:CGRectMake(0, top, KScreenWidth, kGetScaleWidth(60))];
starKitchenView.isSvga = attacment.second == Custom_Message_Sub_Star_Kitchen_FullScreen;
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attacment.data];
starKitchenView.delegate = self;
starKitchenView.starModel = starModel;
[self.topContainer addSubview:starKitchenView];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:starKitchenView.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(starKitchenView.frame.size.width / 2, starKitchenView.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, starKitchenView.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2, starKitchenView.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) {
[starKitchenView removeFromSuperview];
self.isPlayOfB = NO;
if(self.animationListB.count > 0){
[self.animationListB xpSafeRemoveObjectAtIndex:0];
}
[self playAnimationWithModel];
}
}];
[starKitchenView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[starKitchenView pop_addAnimation:springAnimation forKey:@"starKitchenOutAnimation"];
}
- (void)createAnchorHourRankAnimation:(PIBaseAnimationViewModel *)attachment {
self.isPlayOfB = YES;
@@ -3190,13 +3138,7 @@ XPRoomGraffitiGiftAnimationViewDelegate
}
}
- (void)xPRoomStarKitchenBannerView:(XPRoomStarKitchenBannerView *)view didClick:(XPRoomStarKitchenModel *)starModel{
if(starModel.skipUrl == nil || starModel.skipUrl.length == 0)return;
XPWebViewController * webVC = [[XPWebViewController alloc] initWithRoomUID:starModel.roomUid];
webVC.isPush = YES;
webVC.url = starModel.skipUrl;
[self.hostDelegate.getCurrentNav pushViewController:webVC animated:YES];
}
- (void)xPRoomAnchorRankBannerView:(XPRoomAnchorRankBannerView *)view rankInfo:(RoomHalfHourRankModel *)rankInfo{
if (rankInfo.uid.integerValue > 0 && self.hostDelegate.getRoomInfo.uid != rankInfo.uid.integerValue) {

View File

@@ -1,26 +0,0 @@
//
// XPRoomStarKitchenBannerView.h
// YuMi
//
// Created by YuMi on 2022/12/7.
//
#import <UIKit/UIKit.h>
#import "XPRoomStarKitchenModel.h"
NS_ASSUME_NONNULL_BEGIN
@class XPRoomStarKitchenBannerView;
@protocol XPRoomStarKitchenBannerViewDelegate <NSObject>
- (void)xPRoomStarKitchenBannerView:(XPRoomStarKitchenBannerView *)view didClick:(XPRoomStarKitchenModel *)starModel;
@end
@interface XPRoomStarKitchenBannerView : UIView
@property (nonatomic,assign) BOOL isSvga;
@property (nonatomic,strong) XPRoomStarKitchenModel *starModel;
@property (nonatomic,weak) id<XPRoomStarKitchenBannerViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,138 +0,0 @@
//
// XPRoomStarKitchenBannerView.m
// YuMi
//
// Created by YuMi on 2022/12/7.
//
#import <SVGA.h>
#import "XPRoomStarKitchenBannerView.h"
///Third
#import <Masonry/Masonry.h>
#import "YUMIMacroUitls.h"
#import "DJDKMIMOMColor.h"
@interface XPRoomStarKitchenBannerView()
@property (strong, nonatomic) SVGAParser *parser;
@property (nonatomic,strong) SVGAImageView *svgaView;
@property (nonatomic,strong) UIImageView *bgImageView;
@property (nonatomic,strong) UILabel *titleView;
@property (nonatomic,strong) UIButton *clickBtn;
@end
@implementation XPRoomStarKitchenBannerView
-(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.bgImageView];
[self addSubview:self.svgaView];
[self addSubview:self.titleView];
[self addSubview:self.clickBtn];
}
- (void)initSubViewConstraints {
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.svgaView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(21));
make.leading.mas_equalTo(kGetScaleWidth(85));
make.bottom.equalTo(self.mas_bottom).mas_offset(-kGetScaleWidth(13.5));
make.trailing.mas_equalTo(-kGetScaleWidth(53.5));
}];
[self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
}
-(void)setStarModel:(XPRoomStarKitchenModel *)starModel{
_starModel = starModel;
NSString *name = _starModel.nick.length < 7 ? _starModel.nick : [NSString stringWithFormat:@"%@...",[_starModel.nick substringWithRange:NSMakeRange(0, 6)]];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomStarKitchenBannerView0"),name,_starModel.itemMultiple,_starModel.diamonds];
[self.titleView mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(_isSvga == YES && KScreenWidth == 320 ? 18 : 21));
}];
NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:10],NSForegroundColorAttributeName:[UIColor whiteColor]}];
[att addAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0xFEF23E)} range:[title rangeOfString:name]];
[att addAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x00EAFF)} range:[title rangeOfString:[NSString stringWithFormat:@" %@",_starModel.itemMultiple]]];
[att addAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x00EAFF)} range:[title rangeOfString:[NSString stringWithFormat:@" %@",_starModel.diamonds]]];
if(_isSvga == YES){
self.bgImageView.hidden = YES;
self.svgaView.hidden = NO;
self.titleView.hidden = NO;
self.titleView.attributedText = att;
@kWeakify(self);
[self.parser parseWithNamed:@"pi_crazy_zoo" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
self.svgaView.loops = 1;
self.svgaView.clearsAfterStop = NO;
self.svgaView.videoItem = videoItem;
// [self.svgaView setAttributedText:att forKey:@"noble_text_tx"];
[self.svgaView startAnimation];
} failureBlock:^(NSError * _Nonnull error) {
}];
}else{
self.bgImageView.hidden = NO;
self.titleView.hidden = NO;
self.svgaView.hidden = YES;
self.titleView.attributedText = att;
}
}
-(void)clickAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(xPRoomStarKitchenBannerView:didClick:)]){
[self.delegate xPRoomStarKitchenBannerView:self didClick:self.starModel];
}
}
#pragma mark -
- (UIImageView *)bgImageView{
if (!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = [UIImage imageNamed:@"room_star_kitchen"];
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
-(UILabel *)titleView{
if (!_titleView){
_titleView = [UILabel new];
_titleView.textAlignment = NSTextAlignmentCenter;
_titleView.numberOfLines = 2;
}
return _titleView;
}
- (SVGAParser *)parser {
if (!_parser) {
_parser = [[SVGAParser alloc]init];
}
return _parser;
}
- (SVGAImageView *)svgaView {
if (!_svgaView) {
_svgaView= [[SVGAImageView alloc]init];
_svgaView.backgroundColor = [UIColor clearColor];
_svgaView.userInteractionEnabled = YES;
}
return _svgaView;
}
-(UIButton *)clickBtn{
if (!_clickBtn){
_clickBtn = [UIButton new];
[_clickBtn addTarget:self action:@selector(clickAction) forControlEvents:UIControlEventTouchUpInside];
}
return _clickBtn;
}
@end

View File

@@ -41,7 +41,7 @@
#import "RoomSailingPrizeModel.h"
#import "XPOpenRedPacketModel.h"
#import "XPMessageInfoModel.h"
#import "XPRoomStarKitchenModel.h"
#import "TreasureFailryMessageModel.h"
#import "NetImageView.h"
@@ -748,43 +748,10 @@
messageInfo.first = attachment.first;
return messageInfo;
}
- (XPMessageInfoModel *)createGuardianPlanetAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attachment.data];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomMessageParser1033334"),starModel.nick,starModel.diamonds];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kRoomMessageDefalutFont],NSForegroundColorAttributeName:[DJDKMIMOMColor messageDefaultTextColor]}];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageNickColor]} range:[title rangeOfString:starModel.nick]];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageTextColor]} range:[title rangeOfString:[NSString stringWithFormat:@"%@",starModel.diamonds]]];
@kWeakify(self)
[attribute yy_setTextHighlightRange:[title rangeOfString:starModel.nick] color:nil backgroundColor:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
if (starModel.uid.integerValue <= 0) {return;}
[self showUserCard:starModel.uid.integerValue];
}];
messageInfo.content = attribute;
messageInfo.first = attachment.first;
return messageInfo;
}
- (XPMessageInfoModel *)createStarredKitchenAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attachment.data];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomMessageParser1033333"),starModel.nick,starModel.itemMultiple,starModel.diamonds];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kRoomMessageDefalutFont],NSForegroundColorAttributeName:[DJDKMIMOMColor messageDefaultTextColor]}];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageNickColor]} range:[title rangeOfString:starModel.nick]];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageTextColor]} range:[title rangeOfString:[NSString stringWithFormat:@" %@",starModel.itemMultiple]]];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageTextColor]} range:[title rangeOfString:[NSString stringWithFormat:@" %@",starModel.diamonds]]];
@kWeakify(self)
[attribute yy_setTextHighlightRange:[title rangeOfString:starModel.nick] color:nil backgroundColor:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
if (starModel.uid.integerValue <= 0) {return;}
[self showUserCard:starModel.uid.integerValue];
}];
messageInfo.content = attribute;
messageInfo.first = attachment.first;
return messageInfo;
}
#pragma mark -
- (XPMessageInfoModel *)createRedPacketAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
XPOpenRedPacketModel *info = [XPOpenRedPacketModel modelWithDictionary:attachment.data];