新增游戏
This commit is contained in:
@@ -150,6 +150,10 @@
|
||||
23194DD12AD14BF000649F51 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 23194DC92AD14BF000649F51 /* DDAbstractDatabaseLogger.m */; };
|
||||
23194DD22AD14BF000649F51 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 23194DCA2AD14BF000649F51 /* DDFileLogger.m */; };
|
||||
23194DD52AD292F200649F51 /* PIPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 23194DD42AD292F200649F51 /* PIPageControl.m */; };
|
||||
2320F6392BDF732C00227EEB /* MSRoomMenuGameView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2320F6382BDF732C00227EEB /* MSRoomMenuGameView.m */; };
|
||||
2320F63C2BDF738E00227EEB /* MSRoomMenuGameCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2320F63B2BDF738E00227EEB /* MSRoomMenuGameCell.m */; };
|
||||
2320F63F2BDF8B3000227EEB /* MSRoomMenuGameVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 2320F63E2BDF8B3000227EEB /* MSRoomMenuGameVC.m */; };
|
||||
2320F6422BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2320F6412BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m */; };
|
||||
2323E0372ABDAE8F00CCAD2F /* FBSDKSettings+PISDKSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 2323E0362ABDAE8F00CCAD2F /* FBSDKSettings+PISDKSettings.m */; };
|
||||
232C43EA2AB15F4100D4B2ED /* XPRoomTarrowBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 232C43E92AB15F4100D4B2ED /* XPRoomTarrowBannerView.m */; };
|
||||
232C43EC2AB169EC00D4B2ED /* pi_room_tarrow_banner.svga in Resources */ = {isa = PBXBuildFile; fileRef = 232C43EB2AB169EB00D4B2ED /* pi_room_tarrow_banner.svga */; };
|
||||
@@ -1799,6 +1803,14 @@
|
||||
23194DCB2AD14BF000649F51 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = "<group>"; };
|
||||
23194DD32AD292F200649F51 /* PIPageControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIPageControl.h; sourceTree = "<group>"; };
|
||||
23194DD42AD292F200649F51 /* PIPageControl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIPageControl.m; sourceTree = "<group>"; };
|
||||
2320F6372BDF732C00227EEB /* MSRoomMenuGameView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSRoomMenuGameView.h; sourceTree = "<group>"; };
|
||||
2320F6382BDF732C00227EEB /* MSRoomMenuGameView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSRoomMenuGameView.m; sourceTree = "<group>"; };
|
||||
2320F63A2BDF738E00227EEB /* MSRoomMenuGameCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSRoomMenuGameCell.h; sourceTree = "<group>"; };
|
||||
2320F63B2BDF738E00227EEB /* MSRoomMenuGameCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSRoomMenuGameCell.m; sourceTree = "<group>"; };
|
||||
2320F63D2BDF8B3000227EEB /* MSRoomMenuGameVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSRoomMenuGameVC.h; sourceTree = "<group>"; };
|
||||
2320F63E2BDF8B3000227EEB /* MSRoomMenuGameVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSRoomMenuGameVC.m; sourceTree = "<group>"; };
|
||||
2320F6402BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSRoomMenuGameEmptyCell.h; sourceTree = "<group>"; };
|
||||
2320F6412BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSRoomMenuGameEmptyCell.m; sourceTree = "<group>"; };
|
||||
2323E0352ABDAE8F00CCAD2F /* FBSDKSettings+PISDKSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "FBSDKSettings+PISDKSettings.h"; path = "YuMi/Appdelegate/FBSDKSettings+PISDKSettings.h"; sourceTree = SOURCE_ROOT; };
|
||||
2323E0362ABDAE8F00CCAD2F /* FBSDKSettings+PISDKSettings.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "FBSDKSettings+PISDKSettings.m"; path = "YuMi/Appdelegate/FBSDKSettings+PISDKSettings.m"; sourceTree = SOURCE_ROOT; };
|
||||
232C43E82AB15F4100D4B2ED /* XPRoomTarrowBannerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTarrowBannerView.h; sourceTree = "<group>"; };
|
||||
@@ -9911,6 +9923,14 @@
|
||||
E8EE827C272B9A2300A17217 /* XPRoomSendTextView.m */,
|
||||
E8AEAEEE27141C430017FCE0 /* XPRoomMenuContainerView.h */,
|
||||
E8AEAEEF27141C430017FCE0 /* XPRoomMenuContainerView.m */,
|
||||
2320F6372BDF732C00227EEB /* MSRoomMenuGameView.h */,
|
||||
2320F6382BDF732C00227EEB /* MSRoomMenuGameView.m */,
|
||||
2320F63D2BDF8B3000227EEB /* MSRoomMenuGameVC.h */,
|
||||
2320F63E2BDF8B3000227EEB /* MSRoomMenuGameVC.m */,
|
||||
2320F63A2BDF738E00227EEB /* MSRoomMenuGameCell.h */,
|
||||
2320F63B2BDF738E00227EEB /* MSRoomMenuGameCell.m */,
|
||||
2320F6402BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.h */,
|
||||
2320F6412BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m */,
|
||||
);
|
||||
path = MenuContainerView;
|
||||
sourceTree = "<group>";
|
||||
@@ -11108,6 +11128,7 @@
|
||||
E81061032987CFCE00B772F0 /* MessageSkillCardModel.m in Sources */,
|
||||
9BD9A18727A120FD004186FE /* XPMineVisitorUnReadModel.m in Sources */,
|
||||
E85E7BAD2A4EC99300B6D00A /* XPMineGiveDiamondDetailsCell.m in Sources */,
|
||||
2320F63C2BDF738E00227EEB /* MSRoomMenuGameCell.m in Sources */,
|
||||
E824543D26F58C3A00BE8163 /* XPLoginBindSuccessView.m in Sources */,
|
||||
E85E7B282A4EB0D300B6D00A /* XPClanMenuView.m in Sources */,
|
||||
9BE01AF72893E7F500B50299 /* XPNewUserRechargeCollectionViewCell.m in Sources */,
|
||||
@@ -11347,6 +11368,7 @@
|
||||
238B37B22AC55A2C00BFC9D5 /* XPTreasureFairyPrizePoolCell.m in Sources */,
|
||||
9BE01AF02893E31700B50299 /* NewUserRechargeModel.m in Sources */,
|
||||
E82325E6274CCAFA003A3332 /* XPShareInfoModel.m in Sources */,
|
||||
2320F6392BDF732C00227EEB /* MSRoomMenuGameView.m in Sources */,
|
||||
9B32A04728881845002009D2 /* XPRoomTagListView.m in Sources */,
|
||||
E85E7B1D2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m in Sources */,
|
||||
189DD55A26DE39D200AB55B1 /* BaseMvpPresenter.m in Sources */,
|
||||
@@ -11648,6 +11670,7 @@
|
||||
236B2E592AA18E13003967A8 /* XPMIneGameCollectionViewCell.m in Sources */,
|
||||
9BDA3E7D27FD47AB00517FE6 /* XPAnchorFansTeamPresenter.m in Sources */,
|
||||
E8C6FFE62754FE53004DC9F0 /* XPHomeSearchPresenter.m in Sources */,
|
||||
2320F6422BE0F53F00227EEB /* MSRoomMenuGameEmptyCell.m in Sources */,
|
||||
238B37C02AC55A2C00BFC9D5 /* XPTreasureFairyPoolRecordView.m in Sources */,
|
||||
9B2A12DE2783FEDD00CED41B /* UserVipInfoVo.m in Sources */,
|
||||
233423CA2AAEE97500B1253F /* XPCandyTreeConfirmBuyView.m in Sources */,
|
||||
@@ -12003,6 +12026,7 @@
|
||||
E8C1CD7627D8AE3D00376F83 /* XPRoomFacePresenter.m in Sources */,
|
||||
E85E7B362A4EB0D300B6D00A /* XPClanRoomCollectionViewCell.m in Sources */,
|
||||
18F4043A275E20D900A6C548 /* TRTCRtcImpl.m in Sources */,
|
||||
2320F63F2BDF8B3000227EEB /* MSRoomMenuGameVC.m in Sources */,
|
||||
E8899C7F27853B6A007944BE /* DatingMicroView.m in Sources */,
|
||||
23E9EA882A84B75900B792F2 /* XPMineUserInfoHeaderTagView.m in Sources */,
|
||||
E87DF4EC2A42CB60009C1185 /* XPSearchListTableViewCell.m in Sources */,
|
||||
|
@@ -63,7 +63,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
[FIRApp configure];
|
||||
[MobLink setDelegate:self];
|
||||
|
||||
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 122 KiB |
22
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/Contents.json
vendored
Normal file
22
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_bottom_game_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_bottom_game_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/ms_room_bottom_game_icon@2x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/ms_room_bottom_game_icon@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/ms_room_bottom_game_icon@3x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_bottom_game_icon.imageset/ms_room_bottom_game_icon@3x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
22
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/Contents.json
vendored
Normal file
22
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_menu_game@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_menu_game@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/ms_room_menu_game@2x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/ms_room_menu_game@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/ms_room_menu_game@3x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/yna/Menu/ms_room_menu_game.imageset/ms_room_menu_game@3x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
@@ -66,7 +66,7 @@ NSString * const KeyWithType(Pi_KeyType type) {
|
||||
@(KeyType_PasswordEncode) : @"1ea53d260ecf11e7b56e00163e046a26",
|
||||
@(KeyType_Agora) : @"f8713b6ec98c4c01adaf34cb4fa091b1",
|
||||
@(KeyType_TRTC) : @"1400741885",
|
||||
@(KeyType_NetEase) : @"1c3b8c6bf8467d8e4c33a004dbec5c94",
|
||||
@(KeyType_NetEase) : @"79bc37000f4018a2a24ea9dc6ca08d32",
|
||||
@(keyType_YiDunBussinessId) : @"yinyouApnsDebug",
|
||||
@(KeyType_FacePwdEncode) : @"1ea53d260ecf11e7b56e00163e046a26",
|
||||
@(KeyType_SudGameAppID) : @"1578948593831571457",
|
||||
|
@@ -53,7 +53,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
#define PI_Test_Flight @"TestFlight"
|
||||
|
||||
#define ISTestFlight 0
|
||||
///正式环境
|
||||
#define API_HOST_URL @"https://api.hfighting.com"
|
||||
//#define API_HOST_URL @"https://api.molistar.xyz"
|
||||
|
@@ -36,7 +36,7 @@
|
||||
// 将文件数据化
|
||||
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
|
||||
// 对数据进行JSON格式化并返回字典形式
|
||||
NSDictionary *codeData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
NSDictionary *codeData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
NSArray *codeList = [LoginAreaModel modelsWithArray:codeData[@"RECORDS"]];
|
||||
[self getLocalPlistWithList:codeList];
|
||||
}
|
||||
|
@@ -134,7 +134,7 @@
|
||||
_titleView.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineConfirmGiveDiamondView1"),_giveDiamondModel.targetNick];
|
||||
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
|
||||
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@(self.inputDiamonds).stringValue attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kGetScaleWidth(30) weight:UIFontWeightMedium],NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}];
|
||||
UIImage *iconImage = [UIImage imageNamed:@"mine_give_diamone_icon"];;
|
||||
UIImage *iconImage = [UIImage imageNamed:@"exchange_gold_icon"];;
|
||||
attachment.bounds = CGRectMake(0, roundf(self.numView.font.capHeight - 24)/2.f, 24, 24);
|
||||
|
||||
attachment.image =iconImage;
|
||||
|
@@ -309,6 +309,7 @@
|
||||
[_applyBtn addTarget:self action:@selector(applyAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
_applyBtn.layer.cornerRadius = kGetScaleWidth(25)/2;
|
||||
_applyBtn.layer.masksToBounds = YES;
|
||||
_applyBtn.titleLabel.numberOfLines = 2;
|
||||
|
||||
}
|
||||
return _applyBtn;
|
||||
|
@@ -134,7 +134,7 @@
|
||||
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_bgImageView.layer.cornerRadius = 10.f;
|
||||
_bgImageView.clipsToBounds = YES;
|
||||
_bgImageView.image = self.type == IncomeRecord_Diamond ? [UIImage imageNamed:@"income_record_diamond_bg"]: [UIImage imageNamed:@"income_record_gold_bg"];
|
||||
_bgImageView.image = self.type == IncomeRecord_Diamond ? [UIImage imageNamed:@"income_record_gold_bg"]:[UIImage imageNamed:@"income_record_diamond_bg"];
|
||||
}
|
||||
return _bgImageView;
|
||||
}
|
||||
|
@@ -113,6 +113,8 @@
|
||||
NobleAuthInfo *info = [self.vipAuthInfos safeObjectAtIndex1:indexPath.row];
|
||||
if ([self.vipInfo.ownAuthTypes containsObject:@(info.authType)]) {
|
||||
cell.isOwn = YES;
|
||||
}else{
|
||||
cell.isOwn = NO;
|
||||
}
|
||||
cell.vipInfo = info;
|
||||
return cell;
|
||||
|
@@ -82,7 +82,7 @@
|
||||
[self.presenter getHomePersonalRoomList];
|
||||
}else{
|
||||
self.page = 1;
|
||||
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:20];
|
||||
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:50];
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class ActivityInfoItemModel;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
///跳转的类型
|
||||
typedef NS_ENUM(NSInteger, ActivitySkipType) {
|
||||
@@ -32,6 +32,7 @@ typedef NS_ENUM(NSInteger, ActivityType) {
|
||||
@property(nonatomic,copy) NSString *code;
|
||||
@property(nonatomic,copy) NSString *icon;
|
||||
@property(nonatomic,copy) NSString *skipContent;
|
||||
@property(nonatomic,copy) NSString *name;
|
||||
///名称
|
||||
@property (nonatomic,copy) NSString *bannerName;
|
||||
///外面的活动的图片
|
||||
@@ -46,6 +47,32 @@ typedef NS_ENUM(NSInteger, ActivityType) {
|
||||
@property (nonatomic, assign)NSInteger showType;
|
||||
///活动类型
|
||||
@property (nonatomic,assign) ActivityType activityType;
|
||||
@property(nonatomic,copy) NSString *ruleValue;
|
||||
@property(nonatomic,strong) ActivityInfoItemModel *gameModel;
|
||||
///游戏链接
|
||||
@property(nonatomic,copy) NSString *gameUrl;
|
||||
@end
|
||||
|
||||
|
||||
|
||||
|
||||
@interface ActivityInfoItemModel : PIBaseModel
|
||||
///商⼾ id(BAISHUN 提供,商⼾后台可查看)
|
||||
@property(nonatomic,assign) int64_t appId;
|
||||
///⽤⼾ userId
|
||||
@property(nonatomic,copy) NSString *userId;
|
||||
///商⼾⽣成的认证令牌(⽤于游戏服务器获取⽤⼾信息)
|
||||
@property(nonatomic,copy) NSString *code;
|
||||
///房间 ID(不存在,可以传空)
|
||||
@property(nonatomic,copy) NSString *roomId;
|
||||
////房间 ID(不存在,可以传空)
|
||||
@property(nonatomic,copy) NSString *gameMode;
|
||||
@property(nonatomic,copy) NSString *language;
|
||||
@property(nonatomic,copy) NSDictionary *gameConfig;
|
||||
///游戏正式服务器节点101:新加坡(阿⾥云) 201:迪拜(AWS)301:硅⾕ (阿⾥云) 401:法兰克福(阿⾥云)
|
||||
@property(nonatomic,assign) int gsp;
|
||||
|
||||
///商⼾渠道(BAISHUN 提供,商⼾后台可查看)
|
||||
@property(nonatomic,copy) NSString *appChannel;
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -8,5 +8,20 @@
|
||||
#import "ActivityInfoModel.h"
|
||||
|
||||
@implementation ActivityInfoModel
|
||||
- (void)setRuleValue:(NSString *)ruleValue{
|
||||
_ruleValue = ruleValue;
|
||||
id data = [_ruleValue mj_JSONObject];
|
||||
if([data isKindOfClass:[NSDictionary class]]){
|
||||
NSDictionary *dic = (NSDictionary *)data;
|
||||
if(dic[@"RESERVE"]!=nil){
|
||||
_gameModel = [ActivityInfoItemModel modelWithJSON:dic[@"RESERVE"]];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@end
|
||||
@implementation ActivityInfoItemModel
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -170,6 +170,8 @@ typedef NS_ENUM(NSInteger, RoomDatingStateChangeType) {
|
||||
@property(nonatomic,assign) BOOL hasRoomAlbum;
|
||||
//1 厅内红包 2 全服红包 3 厅内红包+全服红包
|
||||
@property(nonatomic,assign) NSInteger redEnvelopeType;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -10,7 +10,7 @@
|
||||
#import "RoomGuestDelegate.h"
|
||||
#import "XPRedPacketModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
|
||||
#import "ActivityInfoModel.h"
|
||||
|
||||
typedef void(^OpenRedPacketHandle)(XPRedPacketModel *_Nullable,RoomType type ,BOOL isChangeRoom);
|
||||
|
||||
@@ -19,6 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface XPRoomActivityContainerView : UIView<RoomGuestDelegate>
|
||||
@property(nonatomic,strong) NSMutableArray *redPacketList;
|
||||
@property(nonatomic,copy)OpenRedPacketHandle openRedPacketHandle;
|
||||
@property(nonatomic,strong) NSMutableArray<ActivityInfoModel *> *playList;
|
||||
- (instancetype)initWithdelegate:(id<RoomHostDelegate>)delegate;
|
||||
@end
|
||||
|
||||
|
@@ -21,7 +21,7 @@
|
||||
///Model
|
||||
#import "UserInfoModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
#import "ActivityInfoModel.h"
|
||||
|
||||
#import "AttachmentModel.h"
|
||||
#import "FirstRechargeModel.h"
|
||||
#import "TreasureFairyLimitModel.h"
|
||||
@@ -59,7 +59,6 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
@property (nonatomic,weak) id<RoomHostDelegate>hostDelegate;
|
||||
///房间活动的列表
|
||||
@property (nonatomic,strong) NSMutableArray<ActivityInfoModel *> *activityList;
|
||||
@property(nonatomic,strong) NSMutableArray<ActivityInfoModel *> *playList;
|
||||
///是否加载了活动
|
||||
@property (nonatomic,assign) BOOL isLoadActivity;
|
||||
@property(nonatomic,assign) BOOL isShowChoosePlayView;
|
||||
@@ -180,9 +179,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
if(self.playList.count > 0){
|
||||
ActivityInfoModel *playModel = self.playList.firstObject;
|
||||
self.clickPlayView.model = playModel;
|
||||
if(self.isShowChoosePlayView == NO){
|
||||
self.clickPlayView.hidden = NO;
|
||||
}
|
||||
// if(self.isShowChoosePlayView == NO){
|
||||
// self.clickPlayView.hidden = NO;
|
||||
// }
|
||||
}else{
|
||||
self.clickPlayView.hidden = YES;
|
||||
}
|
||||
@@ -196,11 +195,11 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
|
||||
|
||||
NSMutableArray *list = [NSMutableArray array];
|
||||
[list addObjectsFromArray:self.playList];
|
||||
|
||||
[list addObjectsFromArray:self.activityList];
|
||||
NSMutableArray *picArray = [NSMutableArray array];
|
||||
for (ActivityInfoModel *model in list) {
|
||||
[picArray addObject:model.icon];
|
||||
[picArray addObject:model.icon ?: @""];
|
||||
}
|
||||
self.pi_cycleScrollView.imageURLStringsGroup = picArray;
|
||||
if (self.activityList.count > 1) {
|
||||
@@ -257,9 +256,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
if(self.playList.count > 0){
|
||||
ActivityInfoModel *playModel = self.playList.firstObject;
|
||||
self.clickPlayView.model = playModel;
|
||||
if(self.isShowChoosePlayView == NO){
|
||||
self.clickPlayView.hidden = NO;
|
||||
}
|
||||
// if(self.isShowChoosePlayView == NO){
|
||||
// self.clickPlayView.hidden = NO;
|
||||
// }
|
||||
}else{
|
||||
self.clickPlayView.hidden = YES;
|
||||
}
|
||||
@@ -613,7 +612,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
|
||||
[UIView animateWithDuration:0.1 animations:^{
|
||||
view.frame = isMSRTL() ? CGRectMake(-201, y, 201, 124) : CGRectMake(KScreenWidth, y, 201, 124);
|
||||
}completion:^(BOOL finished) {
|
||||
self.clickPlayView.hidden = NO;
|
||||
// self.clickPlayView.hidden = NO;
|
||||
[view removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
@@ -305,21 +305,19 @@
|
||||
- (void)configLittleGameState {
|
||||
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
|
||||
if (roomInfo.isPermitRoom != PermitRoomType_Licnese && roomInfo.roomModeType != RoomModeType_Open_Blind && roomInfo.roomModeType != RoomModeType_Open_PK_Mode && roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode && roomInfo.roomModeType != RoomModeType_Open_Micro_Mode && !roomInfo.leaveMode && roomInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
|
||||
// if (!self.gameListView.superview) {
|
||||
// [self addSubview:self.gameListView];
|
||||
// [self.gameListView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.trailing.mas_equalTo(self).offset(-85);
|
||||
// make.top.mas_equalTo(self).offset(kNavigationHeight - 14 - 11 - 19.0 / 2.0);
|
||||
// }];
|
||||
// }
|
||||
// self.gameListView.mgId = roomInfo.mgId > 0 ? [NSString stringWithFormat:@"%lld", roomInfo.mgId] : @"0";
|
||||
// } else {
|
||||
// if (self.gameListView.superview) {
|
||||
// [self.gameListView removeFromSuperview];
|
||||
// }
|
||||
if (!self.gameListView.superview) {
|
||||
[self addSubview:self.gameListView];
|
||||
[self.gameListView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(self).offset(-85);
|
||||
make.top.mas_equalTo(self).offset(kNavigationHeight - 14 - 11 - 19.0 / 2.0);
|
||||
}];
|
||||
}
|
||||
self.gameListView.mgId = roomInfo.mgId > 0 ? [NSString stringWithFormat:@"%lld", roomInfo.mgId] : @"0";
|
||||
} else {
|
||||
if (self.gameListView.superview) {
|
||||
[self.gameListView removeFromSuperview];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//自己是否在游戏中
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class LittleGameInfoItemModel;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LittleGameInfoModel : PIBaseModel
|
||||
@@ -18,6 +18,12 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, copy) NSString *pic;
|
||||
///是否选择
|
||||
@property (nonatomic,assign) BOOL isSelect;
|
||||
///游戏类型 ///SUD/BAISHUN
|
||||
@property(nonatomic,copy) NSString *gameType;
|
||||
@property(nonatomic,copy) NSString *configJson;
|
||||
@property(nonatomic,strong) LittleGameInfoItemModel *gameItem;
|
||||
@end
|
||||
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -10,3 +10,7 @@
|
||||
@implementation LittleGameInfoModel
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -61,6 +61,7 @@
|
||||
[self initHttpRequest];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -294,7 +295,6 @@
|
||||
[_gameRoomButton setImage:[UIImage getLanguageImage:@"room_little_game_game_room_select"] forState:UIControlStateSelected];
|
||||
[_gameRoomButton addTarget:self action:@selector(gameRoomButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
_gameRoomButton.selected = NO;
|
||||
_gameRoomButton.hidden = YES;
|
||||
}
|
||||
return _gameRoomButton;
|
||||
}
|
||||
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// MSRoomMenuGameCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ActivityInfoModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MSRoomMenuGameCell : UICollectionViewCell
|
||||
@property(nonatomic,strong) ActivityInfoModel *model;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// MSRoomMenuGameCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
|
||||
#import "MSRoomMenuGameCell.h"
|
||||
@interface MSRoomMenuGameCell()
|
||||
@property(nonatomic,strong) NetImageView *gameView;
|
||||
@property(nonatomic,strong) UILabel *textView;
|
||||
@end
|
||||
@implementation MSRoomMenuGameCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self.contentView addSubview:self.gameView];
|
||||
[self.contentView addSubview:self.textView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.gameView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(20));
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(56));
|
||||
make.centerX.equalTo(self.contentView);
|
||||
}];
|
||||
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.gameView.mas_bottom).mas_offset(kGetScaleWidth(10));
|
||||
|
||||
make.leading.trailing.equalTo(self.contentView).inset(kGetScaleWidth(5));
|
||||
}];
|
||||
}
|
||||
- (void)setModel:(ActivityInfoModel *)model{
|
||||
_model = model;
|
||||
_gameView.image = nil;
|
||||
[_gameView loadImageWithUrl:_model.icon completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
self.gameView.image = image;
|
||||
}];
|
||||
_textView.text = _model.name;
|
||||
|
||||
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (NetImageView *)gameView{
|
||||
if(!_gameView){
|
||||
NetImageConfig *config = [NetImageConfig new];
|
||||
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
|
||||
_gameView = [[NetImageView alloc]initWithConfig:config];
|
||||
_gameView.layer.cornerRadius = kGetScaleWidth(6);
|
||||
_gameView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _gameView;
|
||||
}
|
||||
- (UILabel *)textView{
|
||||
if(!_textView){
|
||||
_textView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:[UIColor whiteColor]];
|
||||
_textView.textAlignment = NSTextAlignmentCenter;
|
||||
_textView.numberOfLines = 2;
|
||||
}
|
||||
return _textView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// MSRoomMenuGameEmptyCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/30.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MSRoomMenuGameEmptyCell : UICollectionViewCell
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// MSRoomMenuGameEmptyCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/30.
|
||||
//
|
||||
|
||||
#import "MSRoomMenuGameEmptyCell.h"
|
||||
@interface MSRoomMenuGameEmptyCell()
|
||||
@property(nonatomic,strong) UIImageView *iconView;
|
||||
@property(nonatomic,strong) UILabel *textView;
|
||||
@end
|
||||
@implementation MSRoomMenuGameEmptyCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self.contentView addSubview:self.iconView];
|
||||
[self.contentView addSubview:self.textView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(101));
|
||||
make.height.mas_equalTo(kGetScaleWidth(106));
|
||||
make.centerX.equalTo(self.contentView);
|
||||
make.top.mas_equalTo(kGetScaleWidth(50));
|
||||
}];
|
||||
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.iconView.mas_bottom).mas_offset(kGetScaleWidth(14));
|
||||
make.centerX.equalTo(self.contentView);
|
||||
}];
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIImageView *)iconView{
|
||||
if(!_iconView){
|
||||
_iconView = [UIImageView new];
|
||||
_iconView.image = kImage(@"ms_room_bottom_game_icon");
|
||||
}
|
||||
return _iconView;
|
||||
}
|
||||
- (UILabel *)textView{
|
||||
if(!_textView){
|
||||
_textView = [UILabel labelInitWithText:YMLocalizedString(@"XPCandyTreeEmptyableViewCell0") font:kFontRegular(14) textColor:[UIColor whiteColor]];
|
||||
}
|
||||
return _textView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// MSRoomMenuGameVC.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
|
||||
#import "MvpViewController.h"
|
||||
#import "RoomHostDelegate.h"
|
||||
#import "RoomGuestDelegate.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MSRoomMenuGameVC : MvpViewController<RoomGuestDelegate>
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
155
YuMi/Modules/YMRoom/View/MenuContainerView/MSRoomMenuGameVC.m
Normal file
155
YuMi/Modules/YMRoom/View/MenuContainerView/MSRoomMenuGameVC.m
Normal file
@@ -0,0 +1,155 @@
|
||||
//
|
||||
// MSRoomMenuGameVC.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
#import "Api+Room.h"
|
||||
#import "MSRoomMenuGameVC.h"
|
||||
#import "MSRoomMenuGameView.h"
|
||||
#import "XPTreasureFairyViewController.h"
|
||||
#import "XPRoomHalfWebView.h"
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPCandyTreeViewController.h"
|
||||
#import "XPSailingViewController.h"
|
||||
#import "XPRoomViewController.h"
|
||||
#import "MSRoomGameWebVC.h"
|
||||
@interface MSRoomMenuGameVC ()<MSRoomMenuGameViewDelegate>
|
||||
@property(nonatomic,strong) MSRoomMenuGameView *gameView;
|
||||
///host 代理
|
||||
@property (nonatomic,weak) id<RoomHostDelegate>hostDelegate;
|
||||
@end
|
||||
|
||||
@implementation MSRoomMenuGameVC
|
||||
-(void)dealloc{
|
||||
|
||||
}
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate{
|
||||
self = [super init];
|
||||
if(self){
|
||||
self.hostDelegate = delegate;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
- (BOOL)isHiddenNavBar {
|
||||
return YES;
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
[self getGameData];
|
||||
}
|
||||
-(void)getGameData{
|
||||
NSMutableArray *playList = [self.hostDelegate getPlayList];
|
||||
if(playList.count > 0){
|
||||
_gameView.playList = playList;
|
||||
return;
|
||||
}
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId];
|
||||
[Api getPlayList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data];
|
||||
self.gameView.playList = [[NSMutableArray alloc]initWithArray:array];
|
||||
|
||||
}
|
||||
} roomId:roomId];
|
||||
}
|
||||
-(void)installUI{
|
||||
self.view.backgroundColor = [UIColor clearColor];
|
||||
[self.view addSubview:self.gameView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.gameView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.view);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark- MSRoomMenuGameViewDelegate
|
||||
- (void)didClickBackBtnAction{
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
-(void)ms_didSelectItemAtIndexPath:(ActivityInfoModel *)model{
|
||||
self.gameView.hidden = YES;
|
||||
if ([model.code isEqualToString:@"FIND_LOVE"]) {
|
||||
[self lookLoveTapRecognizer];
|
||||
} else if([model.code isEqualToString:@"NAUTICAL_ADVENTURE"]) {
|
||||
[self sailTapRecognizer];
|
||||
}else if([model.code isEqualToString:@"BAISHUN"]){
|
||||
[self clickGameVC:model];
|
||||
}else if([model.code isEqualToString:@"SEIZE_TREASURE"]){
|
||||
if ([self.hostDelegate isKindOfClass:[XPRoomViewController class]]){
|
||||
XPRoomViewController *vc = (XPRoomViewController *)self.hostDelegate;
|
||||
XPTreasureFairyViewController * fairyVC = [[XPTreasureFairyViewController alloc] initWithdelegate:self.hostDelegate];
|
||||
fairyVC.roomUid =[NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
fairyVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
|
||||
[vc addChildViewController:fairyVC];
|
||||
[fairyVC.navigationController setNavigationBarHidden:YES animated:NO];
|
||||
[vc.view addSubview:fairyVC.view];
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
|
||||
fairyVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||
|
||||
}completion:^(BOOL finished) {
|
||||
|
||||
}];
|
||||
}
|
||||
} else if(model.skipType == ActivitySkipType_Web) {
|
||||
if(model.showType == ActivityShowType_Half){
|
||||
XPRoomHalfWebView * webView = [[XPRoomHalfWebView alloc] init];
|
||||
webView.isPlayView = YES;
|
||||
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
webView.url = model.skipContent;
|
||||
[TTPopup popupView:webView style:TTPopupStyleActionSheet];
|
||||
return;
|
||||
}
|
||||
|
||||
XPWebViewController * webVC = [[XPWebViewController alloc] init];
|
||||
webVC.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
webVC.url = model.skipContent;
|
||||
[self.hostDelegate.getCurrentNav pushViewController:webVC animated:YES];
|
||||
}
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
-(void)clickGameVC:(ActivityInfoModel *)model{
|
||||
if ([self.hostDelegate isKindOfClass:[XPRoomViewController class]]){
|
||||
MSRoomGameWebVC *vc = [[MSRoomGameWebVC alloc]initWithDelegate:self.hostDelegate gameModel:model];
|
||||
vc.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||
XPRoomViewController *roomVC = (XPRoomViewController *)self.hostDelegate;
|
||||
[roomVC addChildViewController:vc];
|
||||
[self.hostDelegate.getSuperView addSubview:vc.view];
|
||||
}
|
||||
|
||||
}
|
||||
- (void)lookLoveTapRecognizer {
|
||||
|
||||
if ([self.hostDelegate isKindOfClass:[XPRoomViewController class]]){
|
||||
XPCandyTreeViewController * candyTreeVC = [[XPCandyTreeViewController alloc] initWithDelegate:self.hostDelegate];
|
||||
candyTreeVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
|
||||
[self.hostDelegate.getSuperView addSubview:candyTreeVC.view];
|
||||
XPRoomViewController *vc = (XPRoomViewController *)self.hostDelegate;
|
||||
[vc addChildViewController:candyTreeVC];
|
||||
[candyTreeVC.navigationController setNavigationBarHidden:YES animated:NO];
|
||||
[UIView animateWithDuration:0.1 animations:^{
|
||||
candyTreeVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||
}completion:^(BOOL finished) {
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
- (void)sailTapRecognizer {
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
XPSailingViewController * sailingVC = [[XPSailingViewController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:sailingVC animated:YES completion:nil];
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (MSRoomMenuGameView *)gameView{
|
||||
if(!_gameView){
|
||||
_gameView = [[MSRoomMenuGameView alloc]initWithFrame:CGRectZero];
|
||||
_gameView.delegate = self;
|
||||
}
|
||||
return _gameView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// MSRoomMenuGameView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ActivityInfoModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MSRoomMenuGameViewDelegate <NSObject>
|
||||
|
||||
-(void)didClickBackBtnAction;
|
||||
-(void)ms_didSelectItemAtIndexPath:(ActivityInfoModel *)model;
|
||||
@end
|
||||
|
||||
|
||||
@interface MSRoomMenuGameView : UIView
|
||||
@property(nonatomic,strong) NSMutableArray<ActivityInfoModel *> *playList;
|
||||
@property(nonatomic,weak) id<MSRoomMenuGameViewDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
116
YuMi/Modules/YMRoom/View/MenuContainerView/MSRoomMenuGameView.m
Normal file
116
YuMi/Modules/YMRoom/View/MenuContainerView/MSRoomMenuGameView.m
Normal file
@@ -0,0 +1,116 @@
|
||||
//
|
||||
// MSRoomMenuGameView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/4/29.
|
||||
//
|
||||
|
||||
#import "MSRoomMenuGameView.h"
|
||||
#import "MSRoomMenuGameCell.h"
|
||||
#import "MSRoomMenuGameEmptyCell.h"
|
||||
@interface MSRoomMenuGameView()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
||||
@property(nonatomic,strong) UIButton *backBtn;
|
||||
@property(nonatomic,strong) UIView *ms_bgView;
|
||||
@property(nonatomic,strong) UICollectionView *collectionView;
|
||||
@end
|
||||
@implementation MSRoomMenuGameView
|
||||
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self addSubview:self.backBtn];
|
||||
[self addSubview:self.ms_bgView];
|
||||
[self.ms_bgView addSubview:self.collectionView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.backBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
[self.ms_bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.leading.trailing.equalTo(self).inset(kGetScaleWidth(0));
|
||||
make.height.mas_equalTo(kGetScaleWidth(247));
|
||||
|
||||
}];
|
||||
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.ms_bgView);
|
||||
}];
|
||||
}
|
||||
-(void)backBtnAction{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickBackBtnAction)]){
|
||||
[self.delegate didClickBackBtnAction];
|
||||
}
|
||||
}
|
||||
-(void)setPlayList:(NSMutableArray<ActivityInfoModel *> *)playList{
|
||||
_playList = playList;
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self.collectionView reloadData];
|
||||
});
|
||||
}
|
||||
#pragma mark- UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
|
||||
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
CGFloat width = (KScreenWidth-kGetScaleWidth(6))/5;
|
||||
return self.playList.count > 0 ? CGSizeMake(width, kGetScaleWidth(100)): CGSizeMake(KScreenWidth, kGetScaleWidth(200));
|
||||
}
|
||||
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
|
||||
return self.playList.count > 0 ? UIEdgeInsetsMake(0, kGetScaleWidth(3), 0, kGetScaleWidth(3)): UIEdgeInsetsMake(0, 0, 0, 0);
|
||||
}
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
|
||||
return self.playList.count > 0 ? self.playList.count : 1;
|
||||
}
|
||||
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if (self.playList.count == 0){
|
||||
MSRoomMenuGameEmptyCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MSRoomMenuGameEmptyCell class]) forIndexPath:indexPath];
|
||||
return cell;
|
||||
}
|
||||
|
||||
MSRoomMenuGameCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MSRoomMenuGameCell class]) forIndexPath:indexPath];
|
||||
cell.model = [self.playList safeObjectAtIndex1:indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(ms_didSelectItemAtIndexPath:)]){
|
||||
[self.delegate ms_didSelectItemAtIndexPath:[self.playList safeObjectAtIndex1:indexPath.row]];
|
||||
}
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIButton *)backBtn{
|
||||
if(!_backBtn){
|
||||
_backBtn = [UIButton new];
|
||||
[_backBtn addTarget:self action:@selector(backBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _backBtn;
|
||||
}
|
||||
- (UIView *)ms_bgView{
|
||||
if(!_ms_bgView){
|
||||
_ms_bgView = [UIView new];
|
||||
_ms_bgView.backgroundColor = UIColorFromRGB(0x2D1E4D);
|
||||
[_ms_bgView setCornerWithLeftTopCorner:kGetScaleWidth(12) rightTopCorner:kGetScaleWidth(12) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, kGetScaleWidth(247))];
|
||||
}
|
||||
return _ms_bgView;
|
||||
}
|
||||
- (UICollectionView *)collectionView{
|
||||
if (!_collectionView) {
|
||||
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];
|
||||
|
||||
|
||||
layout.minimumLineSpacing = 0;
|
||||
layout.minimumInteritemSpacing = 0;
|
||||
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||
_collectionView.showsHorizontalScrollIndicator = NO;
|
||||
_collectionView.dataSource = self;
|
||||
_collectionView.delegate = self;
|
||||
_collectionView.backgroundColor = [UIColor clearColor];
|
||||
[_collectionView registerClass:[MSRoomMenuGameCell class] forCellWithReuseIdentifier:NSStringFromClass([MSRoomMenuGameCell class])];
|
||||
[_collectionView registerClass:[MSRoomMenuGameEmptyCell class] forCellWithReuseIdentifier:NSStringFromClass([MSRoomMenuGameEmptyCell class])];
|
||||
|
||||
}
|
||||
return _collectionView;
|
||||
}
|
||||
@end
|
@@ -19,6 +19,7 @@ typedef NS_ENUM(NSInteger, XPRoomMenuItemType) {
|
||||
XPRoomMenuItemType_ArrangeMic,///排麦
|
||||
XPRoomMenuItemType_Gift,///礼物
|
||||
XPRoomMenuItemType_Noble,///VIP
|
||||
MSRoomMenuItemType_Game,///VIP
|
||||
};
|
||||
|
||||
@interface XPRoomMenuItem : NSObject
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#import "XPRoomFaceViewController.h"
|
||||
#import "XPRoomHalfMessageView.h"
|
||||
#import "XPRoomMessageBubbleView.h"
|
||||
#import "MSRoomMenuGameVC.h"
|
||||
|
||||
@interface XPRoomMenuContainerView ()<XPRoomMessageBubbleViewDelegate>
|
||||
///滚动的容器
|
||||
@@ -56,6 +57,9 @@
|
||||
@property (nonatomic,strong) UIButton *arrangeMicButton;
|
||||
///VIP
|
||||
@property (nonatomic,strong) UIButton *nobleButton;
|
||||
///游戏、活动
|
||||
@property(nonatomic,strong) UIButton *gameButton;
|
||||
|
||||
///输入框
|
||||
@property (nonatomic,strong) XPRoomSendTextView *inputTextView;
|
||||
@property (nonatomic,strong) XPRoomMessageBubbleView *miniMessageView;
|
||||
@@ -155,6 +159,7 @@
|
||||
break;
|
||||
case XPRoomMenuItemType_More: {
|
||||
XPRoomMoreMenuViewController * moreMenuVC = [[XPRoomMoreMenuViewController alloc] initWithDelegate:self.delegate];
|
||||
|
||||
[self.delegate.getCurrentNav presentViewController:moreMenuVC animated:YES completion:nil];
|
||||
}
|
||||
break;
|
||||
@@ -194,6 +199,14 @@
|
||||
[self.delegate.getCurrentNav pushViewController:nobleVC animated:YES];
|
||||
}
|
||||
break;
|
||||
case MSRoomMenuItemType_Game:
|
||||
{
|
||||
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc]initWithDelegate:self.delegate];
|
||||
vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
|
||||
[self.delegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -216,6 +229,7 @@
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.scrollView];
|
||||
[self addSubview:self.giftButton];
|
||||
[self addSubview:self.gameButton];
|
||||
|
||||
[self.scrollView addSubview:self.stackView];
|
||||
|
||||
@@ -247,7 +261,7 @@
|
||||
- (void)initSubViewConstraints {
|
||||
[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(self).offset(15);
|
||||
make.trailing.mas_equalTo(self.giftButton.mas_leading).offset(-10);
|
||||
make.trailing.mas_equalTo(self.gameButton.mas_leading).offset(-10);
|
||||
make.top.mas_equalTo(self).offset(8);
|
||||
make.bottom.mas_equalTo(self).offset(-12 - kSafeAreaBottomHeight);
|
||||
}];
|
||||
@@ -265,7 +279,11 @@
|
||||
make.trailing.mas_equalTo(self).offset(-20);
|
||||
make.size.mas_equalTo(CGSizeMake(35, 35));
|
||||
}];
|
||||
|
||||
[self.gameButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(self.scrollView);
|
||||
make.trailing.mas_equalTo(self).offset(-64);
|
||||
make.size.mas_equalTo(CGSizeMake(32, 32));
|
||||
}];
|
||||
}
|
||||
|
||||
- (NSArray<XPGiftUserInfoModel *> *)configGiftUsers:(NSMutableDictionary<NSString *,MicroQueueModel *> *)queue {
|
||||
@@ -597,5 +615,14 @@
|
||||
}
|
||||
return _miniMessageView;
|
||||
}
|
||||
|
||||
- (UIButton *)gameButton{
|
||||
if(!_gameButton){
|
||||
_gameButton = [UIButton new];
|
||||
[_gameButton setImage:[UIImage imageNamed:@"ms_room_menu_game"] forState:UIControlStateNormal];
|
||||
[_gameButton setImage:[UIImage imageNamed:@"ms_room_menu_game"] forState:UIControlStateSelected];
|
||||
_gameButton.tag = MSRoomMenuItemType_Game;
|
||||
[_gameButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _gameButton;
|
||||
}
|
||||
@end
|
||||
|
@@ -176,9 +176,9 @@
|
||||
}
|
||||
// [array addObject:inviteFriend];
|
||||
[array addObject:trumpet];
|
||||
if (isCreator && roomInfo.type != RoomType_Anchor && roomInfo.isPermitRoom != PermitRoomType_Licnese && roomInfo.isPermitRoom != PermitRoomType_YoungerStar) {
|
||||
[array addObject:releaseRadio];
|
||||
}
|
||||
// if (isCreator && roomInfo.type != RoomType_Anchor && roomInfo.isPermitRoom != PermitRoomType_Licnese && roomInfo.isPermitRoom != PermitRoomType_YoungerStar) {
|
||||
// [array addObject:releaseRadio];
|
||||
// }
|
||||
[array addObject:giftEffect];
|
||||
[array addObject:roomSetting];
|
||||
[array addObject:messageScreen];
|
||||
|
@@ -40,6 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(BOOL)getIsMiniEnter;
|
||||
///屏蔽
|
||||
-(void)requesstShieldingAction;
|
||||
-(NSMutableArray *)getPlayList;;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -563,9 +563,9 @@
|
||||
XPWebViewController * webVC = [[XPWebViewController alloc] init];
|
||||
webVC.roomUid = [NSString stringWithFormat:@"%ld", self.roomInfo.uid];
|
||||
if (self.roomInfo.leaveMode && self.userInfo.uid == self.roomInfo.uid) { ///离开模式
|
||||
webVC.url = [NSString stringWithFormat:@"%@?uid=%ld", URLWithType(kRoomCharmRankURL), self.microModel.userInfo.uid ? self.microModel.userInfo.uid : self.roomInfo.uid];
|
||||
webVC.url = [NSString stringWithFormat:@"%@?uid=%ld&roomUid=%ld", URLWithType(kRoomCharmRankURL), (self.microModel.userInfo.uid ? self.microModel.userInfo.uid : self.roomInfo.uid),(long)self.roomInfo.uid];
|
||||
} else {
|
||||
webVC.url = [NSString stringWithFormat:@"%@?uid=%ld", URLWithType(kRoomCharmRankURL), self.microModel.userInfo.uid];
|
||||
webVC.url = [NSString stringWithFormat:@"%@?uid=%ld&roomUid=%ld", URLWithType(kRoomCharmRankURL), self.microModel.userInfo.uid,self.roomInfo.uid];
|
||||
}
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
|
||||
}
|
||||
|
@@ -1789,7 +1789,9 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
- (UserInfoModel *)getUserInfo {
|
||||
return self.userInfo;
|
||||
}
|
||||
|
||||
-(NSMutableArray *)getPlayList{
|
||||
return self.activityContainerView.playList;
|
||||
}
|
||||
- (void)exitRoom {
|
||||
[self.stageView exitRoom];
|
||||
[self.menuContainerView menuResignFirstResponder];
|
||||
|
@@ -7,10 +7,12 @@
|
||||
|
||||
#import "BaseViewController.h"
|
||||
#import <WebKit/WebKit.h>
|
||||
#import "RoomHostDelegate.h"
|
||||
#import "ActivityInfoModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MSRoomGameWebVC : BaseViewController
|
||||
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate gameModel:(ActivityInfoModel *)gameModel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -6,6 +6,10 @@
|
||||
//
|
||||
|
||||
#import "MSRoomGameWebVC.h"
|
||||
#import "LittleGameInfoModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
#import "XPIAPRechargeViewController.h"
|
||||
|
||||
@interface MSWeakWebViewScriptMessageDelegate : NSObject<WKScriptMessageHandler>
|
||||
|
||||
//WKScriptMessageHandler 这个协议类专门用来处理JavaScript调用原生OC的方法
|
||||
@@ -46,11 +50,24 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
@property (strong, nonatomic) WKWebView *webview;
|
||||
@property (strong, nonatomic) UIProgressView *progressView;
|
||||
@property (nonatomic, strong) WKUserContentController *ms_userContentController;
|
||||
@property (nonatomic,weak) id<RoomHostDelegate> hostDelegate;
|
||||
@property(nonatomic,strong) ActivityInfoModel *gameModel;
|
||||
@end
|
||||
|
||||
@implementation MSRoomGameWebVC
|
||||
|
||||
|
||||
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate gameModel:(ActivityInfoModel *)gameModel
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.hostDelegate = delegate;
|
||||
self.gameModel = gameModel;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
- (BOOL)isHiddenNavBar {
|
||||
return YES;
|
||||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self installUI];
|
||||
@@ -80,11 +97,7 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
//获取当前屏幕的宽⾼
|
||||
int ScreenHeight = [[UIScreen mainScreen] bounds].size.height;
|
||||
int ScreenWidth = [[UIScreen mainScreen] bounds].size.width;
|
||||
//获取状态栏的⾼度
|
||||
CGRect statusBarRect = [[UIApplication sharedApplication]
|
||||
statusBarFrame];
|
||||
int statusBarHeight = statusBarRect.size.height;
|
||||
|
||||
|
||||
self.webview = [[WKWebView alloc] initWithFrame:CGRectMake(0,0,
|
||||
ScreenWidth, ScreenHeight) configuration:config];
|
||||
[self.webview.scrollView setBackgroundColor:[UIColor clearColor]];
|
||||
@@ -98,6 +111,11 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
UIScrollViewContentInsetAdjustmentNever;
|
||||
}
|
||||
[self.view addSubview:self.webview];
|
||||
|
||||
NSString *h5Url = self.gameModel.skipContent;
|
||||
NSURL *url = [NSURL URLWithString:h5Url];
|
||||
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
|
||||
[self.webview loadRequest:request];
|
||||
}
|
||||
|
||||
- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{
|
||||
@@ -106,8 +124,6 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
NSURLCredential *card = [[NSURLCredential alloc]initWithTrust:challenge.protectionSpace.serverTrust];
|
||||
completionHandler(NSURLSessionAuthChallengeUseCredential,card);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,32 +187,58 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
// 获取信息配置
|
||||
- (void) getConfig:(NSDictionary*)args
|
||||
{
|
||||
|
||||
|
||||
NSLog(@"BSGAME %s","游戏调⽤getConfig");
|
||||
NSString* method = [args objectForKey:@"jsCallback"];
|
||||
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
|
||||
ActivityInfoItemModel *gameModel = self.gameModel.gameModel;
|
||||
NSString *appChannel = gameModel.appChannel ?: @"";
|
||||
int64_t appId = gameModel.appId;
|
||||
NSString *userId = [AccountInfoStorage instance].getUid;
|
||||
NSString *code = gameModel.code ?: @"";
|
||||
NSString *roomId = [NSString stringWithFormat:@"%ld",roomInfo.uid];
|
||||
NSString *gameMode = gameModel.gameMode ?: @"";
|
||||
NSString *language = gameModel.language ?: @"";
|
||||
NSDictionary *gameConfig = gameModel.gameConfig ?: @{};
|
||||
int gsp = gameModel.gsp;
|
||||
// 数据只是参考值,需要根据⾃⼰APP进⾏赋值
|
||||
NSObject* configData = @{
|
||||
@"appChannel":@"mesh",
|
||||
@"appId":@88888888,
|
||||
@"userId":@"534206265",
|
||||
|
||||
@"code":@"j10NQCb16b6E1oCnAx4o3hHdEaDzm6RLZjyyyEcn34tiJcPXNbkZh5g8Q6Zd",
|
||||
@"roomId":@"20230901",
|
||||
@"gameMode":@"3",
|
||||
@"language":@"2",
|
||||
@"gameConfig":@{
|
||||
@"sceneMode":@0,
|
||||
@"currencyIcon":@"https://bsyx-store.s3.ap-southeast-.amazonaws.com/game-icons/20230906-163004.png",
|
||||
},
|
||||
@"gsp":@101,
|
||||
@"appChannel":appChannel,
|
||||
@"appId":@(appId),
|
||||
@"userId":userId,
|
||||
@"code":code,
|
||||
@"roomId":roomId,
|
||||
@"gameMode":gameMode,
|
||||
@"language":[self getlanguage],
|
||||
@"gameConfig":gameConfig,
|
||||
@"gsp":@(gsp),
|
||||
};
|
||||
[self callJs:method withJavaScriptValue:configData];
|
||||
}
|
||||
|
||||
-(NSString *)getlanguage{
|
||||
NSString *language = [NSBundle getLanguageText];
|
||||
if ([language hasPrefix:@"zh"]) {
|
||||
if ([language rangeOfString:@"Hans"].location != NSNotFound) {
|
||||
language = @"0"; // 简体中文
|
||||
} else {
|
||||
language = @"1"; // 繁體中文
|
||||
}
|
||||
}else if([language hasPrefix:@"ar"]){///阿拉伯语
|
||||
language = @"7";
|
||||
}else{///英文
|
||||
language = @"2";
|
||||
}
|
||||
return language;
|
||||
}
|
||||
// 销毁游戏
|
||||
- (void) destroy:(NSDictionary*)args
|
||||
{
|
||||
NSLog(@"BSGAME %s","游戏调⽤destroy");
|
||||
//关闭游戏 TODO 客⼾端
|
||||
[self willMoveToParentViewController:nil]; //1
|
||||
[self.view removeFromSuperview]; //2
|
||||
[self removeFromParentViewController]; //3
|
||||
}
|
||||
|
||||
// 提⽰余额不⾜
|
||||
@@ -204,6 +246,16 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
{
|
||||
NSLog(@"BSGAME %s","游戏调⽤gameRecharge");
|
||||
//拉起充值商城 TODO 客⼾端
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc]init];
|
||||
config.message = YMLocalizedString(@"XPNobleCenterViewController3");
|
||||
config.actionStyle = TTAlertActionBothStyle;
|
||||
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
|
||||
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
|
||||
webVC.type = @"4";
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
} cancelHandler:^{
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
// 游戏加载完毕
|
||||
|
@@ -122,7 +122,7 @@ static NSString *_from = nil;
|
||||
+ (NSString *)getAppSource{
|
||||
if (_from == nil) {
|
||||
if (isEnterprise == NO) {
|
||||
_from = @"molistar_enterprise"; // 企业包
|
||||
_from = ISTestFlight ? PI_Test_Flight : @"molistar_enterprise"; // 企业包
|
||||
}else {
|
||||
_from = [ClientConfig shareConfig].isTF == YES ? PI_Test_Flight : PI_App_Source; // Test_Flight包或appstore App Store包
|
||||
}
|
||||
|
@@ -167,7 +167,7 @@
|
||||
"XPMineGuildListCell5" = "قيد المراجعة";
|
||||
"XPMineGuildListCell6" = "تمت الدعوة";
|
||||
|
||||
"XPMineMainGuildListVC0" = "النقابة";
|
||||
"XPMineMainGuildListVC0" = "الوكالة";
|
||||
"XPMineMainGuildListVC1" = "الغرفة";
|
||||
|
||||
///XPMineHallAnchorIncomeStatisViewController.m
|
||||
@@ -274,7 +274,7 @@
|
||||
"XPIncomeRecordView1"="إعادة الشحن";
|
||||
"XPIncomeRecordView2"="تبادل العملات";
|
||||
"XPIncomeRecordView3"="سحب";
|
||||
"XPIncomeRecordView4"="العملات";
|
||||
"XPIncomeRecordView4"="العملات الذهبية";
|
||||
"XPIncomeRecordView5"="الماس";
|
||||
|
||||
"XPIncomeRecordVC0"="سجل الأرباح";
|
||||
@@ -1677,8 +1677,8 @@ ineHeadView12" = "الحمل";
|
||||
"XPRoomInsideRecommendEmptyCell0" = "في محاولة للعثور على غرف مناسبة";
|
||||
|
||||
"XPRoomRecommendView0" = "حظر / إبلاغ";
|
||||
"XPRoomRecommendView1" = "إغلاق الغرفة";
|
||||
"XPRoomRecommendView2" = "الخروج من الغرفة";
|
||||
"XPRoomRecommendView1" = "تصغير";
|
||||
"XPRoomRecommendView2" = "الخروج";
|
||||
"XPRoomRecommendView3" = "نوصي لك";
|
||||
|
||||
"XPAnchorFansTeamEntranceView0" = "الفريق الفانز (%ld)";
|
||||
@@ -1845,7 +1845,7 @@ ineHeadView12" = "الحمل";
|
||||
"AnchorStageView5" = "أنت بالفعل على المنصة";
|
||||
"AnchorStageView6" = "دع الرئيس يجذبك إلى المنصة للمزيد من التفاعل";
|
||||
|
||||
"SocialMicroView0" = "موقع صاحب الغرفة";
|
||||
"SocialMicroView0" = "رئيس";
|
||||
|
||||
"LittleGameMicroView0" = "صاحب الغرفة";
|
||||
"LittleGameMicroView1" = "غير جاهز";
|
||||
@@ -2102,9 +2102,9 @@ ineHeadView12" = "الحمل";
|
||||
|
||||
"XPGiftBarView0" = "الرصيد: %@";
|
||||
"XPGiftBarView1" = "شحن";
|
||||
"XPGiftBarView2" = "إهداء";
|
||||
"XPGiftBarView3" = "جاري الإهداء...";
|
||||
"XPGiftBarView4" = "إهداء";
|
||||
"XPGiftBarView2" = "إرسال";
|
||||
"XPGiftBarView3" = "إرسال";
|
||||
"XPGiftBarView4" = "إرسال";
|
||||
"XPGiftBarView5" = "الرجاء إدخال مبلغ الهدية";
|
||||
"XPGiftBarView6" = "تأكيد";
|
||||
|
||||
@@ -2148,8 +2148,8 @@ ineHeadView12" = "الحمل";
|
||||
|
||||
"XPGiftInfoView0" = "الإجمالي:";
|
||||
"XPGiftInfoView1" = "لا توجد هدايا حالياً~";
|
||||
"XPGiftInfoView2" = "الهدايا";
|
||||
"XPGiftInfoView3" = "الحظ السعيد";
|
||||
"XPGiftInfoView2" = "هدية";
|
||||
"XPGiftInfoView3" = "الحظ";
|
||||
"XPGiftInfoView4" = "نجم الأسبوع";
|
||||
"XPGiftInfoView5" = "الحقيبة";
|
||||
"XPGiftInfoView6" = "هدية الرسم";
|
||||
@@ -3101,7 +3101,7 @@ ineHeadView12" = "الحمل";
|
||||
"MessageContentGuildDialogView15"="الموافقة على الخروج";
|
||||
"MessageContentGuildDialogView16"="رفض الخروج";
|
||||
///XPMineGuildListVC.m
|
||||
"XPMineGuildListVC0" = "التصنيف الأسبوعي للجمعية";
|
||||
"XPMineGuildListVC0" = "قائمة التصنيف الأسبوعية";
|
||||
"XPMineGuildListVC1" = "لا توجد جمعيات حاليًا";
|
||||
"XPMineGuildListVC2"="تم الإرسال بنجاح، يرجى الانتظار بصبر";
|
||||
"XPMineGuildListVC3" = "لم يتم العثور على غرف ذات صلة";
|
||||
@@ -3154,7 +3154,6 @@ ineHeadView12" = "الحمل";
|
||||
"XPMineGiveDiamondDetailsVC1" = "نقود";
|
||||
"XPMineGiveDiamondDetailsVC2"="الهدايا";
|
||||
"XPIncomeRecordView2" = "تحويل النقود";
|
||||
"XPIncomeRecordView4" = "نقود";
|
||||
"XPExchangeDiamondsItemView0" = "نقودي: %@";
|
||||
"XPExchangeDiamondsView3" = "على الأقل يجب تحويل %ld نقود";
|
||||
|
||||
@@ -3555,8 +3554,8 @@ ineHeadView12" = "الحمل";
|
||||
"XPHomeLittleGameTableViewCell1" = "في انتظار";
|
||||
"XPHomeLittleGameTableViewCell2" = "الانضمام إلى الغرفة";
|
||||
///XPLittleGameRoomListView.m
|
||||
"XPLittleGameRoomListView0" = "توسيع قائمة الأصدقاء";
|
||||
"XPLittleGameRoomListView1" = "توسيع قائمة الأصدقاء";
|
||||
"XPLittleGameRoomListView0" = "توسيع الأصدقاء";
|
||||
"XPLittleGameRoomListView1" = "توسيع الأصدقاء";
|
||||
///XPLittleGameRoomOpenView.m
|
||||
"XPLittleGameRoomOpenView0" = "فشل طلب معلومات الغرفة ، يرجى المحاولة مرة أخرى!";
|
||||
"XPLittleGameRoomOpenView1" = "إنشاء غرفة جديدة";
|
||||
|
@@ -150,6 +150,12 @@
|
||||
"mcc": "724",
|
||||
"code": "55"
|
||||
},
|
||||
{
|
||||
"name": "Britain",
|
||||
"abbr": "BI",
|
||||
"mcc": "234",
|
||||
"code": "44"
|
||||
},
|
||||
{
|
||||
"name": "Brunei Darussalam",
|
||||
"abbr": "BN",
|
||||
|
@@ -1103,7 +1103,7 @@
|
||||
"XPMoreMenuPresenter20" = "清空公屏";
|
||||
"XPMoreMenuPresenter21" = "房间设置";
|
||||
"XPMoreMenuPresenter22" = "邀请粉丝";
|
||||
"XPMoreMenuPresenter23" = "发佈广播";
|
||||
"XPMoreMenuPresenter23" = "发布广播";
|
||||
"XPMoreMenuPresenter24" = "红包";
|
||||
|
||||
"XPMoreMenuPresenter26" = "PK中...";
|
||||
@@ -1197,7 +1197,7 @@
|
||||
"AnchorStageView5" = "你已经在麦上了喔";
|
||||
"AnchorStageView6" = "让主播抱你上麦进行更多互动吧~";
|
||||
|
||||
"SocialMicroView0" = "老闆位";
|
||||
"SocialMicroView0" = "老板位";
|
||||
|
||||
"LittleGameMicroView0" = "房主";
|
||||
"LittleGameMicroView1" = "未准备";
|
||||
|
Reference in New Issue
Block a user