贵族特权-隐身进房
@@ -173,6 +173,9 @@
|
|||||||
9B85F3502806A34B006EDF51 /* anchorPK_progress.svga in Resources */ = {isa = PBXBuildFile; fileRef = 9B85F34F2806A34B006EDF51 /* anchorPK_progress.svga */; };
|
9B85F3502806A34B006EDF51 /* anchorPK_progress.svga in Resources */ = {isa = PBXBuildFile; fileRef = 9B85F34F2806A34B006EDF51 /* anchorPK_progress.svga */; };
|
||||||
9B85F3532806AB9A006EDF51 /* XPAnchorPKResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B85F3522806AB9A006EDF51 /* XPAnchorPKResultView.m */; };
|
9B85F3532806AB9A006EDF51 /* XPAnchorPKResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B85F3522806AB9A006EDF51 /* XPAnchorPKResultView.m */; };
|
||||||
9B85F3562806DD8A006EDF51 /* XPAnchorPKFinishView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B85F3552806DD8A006EDF51 /* XPAnchorPKFinishView.m */; };
|
9B85F3562806DD8A006EDF51 /* XPAnchorPKFinishView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B85F3552806DD8A006EDF51 /* XPAnchorPKFinishView.m */; };
|
||||||
|
9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B86D8792817DD8400494FCD /* XPRoomEnterHideTipView.m */; };
|
||||||
|
9B86D87D2817EA0900494FCD /* XPNobleSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B86D87C2817EA0900494FCD /* XPNobleSettingViewController.m */; };
|
||||||
|
9B86D8802817F4A300494FCD /* XPNobleSettingNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B86D87F2817F4A300494FCD /* XPNobleSettingNavView.m */; };
|
||||||
9B92A3392797BE4500AD168F /* XPMineSkillTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3382797BE4500AD168F /* XPMineSkillTipView.m */; };
|
9B92A3392797BE4500AD168F /* XPMineSkillTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3382797BE4500AD168F /* XPMineSkillTipView.m */; };
|
||||||
9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A33B2797E38100AD168F /* XPMineHeadItemTableViewCell.m */; };
|
9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A33B2797E38100AD168F /* XPMineHeadItemTableViewCell.m */; };
|
||||||
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3432797EE6500AD168F /* XPMatchManagePresenter.m */; };
|
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3432797EE6500AD168F /* XPMatchManagePresenter.m */; };
|
||||||
@@ -1048,6 +1051,12 @@
|
|||||||
9B85F3522806AB9A006EDF51 /* XPAnchorPKResultView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAnchorPKResultView.m; sourceTree = "<group>"; };
|
9B85F3522806AB9A006EDF51 /* XPAnchorPKResultView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAnchorPKResultView.m; sourceTree = "<group>"; };
|
||||||
9B85F3542806DD8A006EDF51 /* XPAnchorPKFinishView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAnchorPKFinishView.h; sourceTree = "<group>"; };
|
9B85F3542806DD8A006EDF51 /* XPAnchorPKFinishView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAnchorPKFinishView.h; sourceTree = "<group>"; };
|
||||||
9B85F3552806DD8A006EDF51 /* XPAnchorPKFinishView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAnchorPKFinishView.m; sourceTree = "<group>"; };
|
9B85F3552806DD8A006EDF51 /* XPAnchorPKFinishView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAnchorPKFinishView.m; sourceTree = "<group>"; };
|
||||||
|
9B86D8782817DD8400494FCD /* XPRoomEnterHideTipView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomEnterHideTipView.h; sourceTree = "<group>"; };
|
||||||
|
9B86D8792817DD8400494FCD /* XPRoomEnterHideTipView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomEnterHideTipView.m; sourceTree = "<group>"; };
|
||||||
|
9B86D87B2817EA0900494FCD /* XPNobleSettingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNobleSettingViewController.h; sourceTree = "<group>"; };
|
||||||
|
9B86D87C2817EA0900494FCD /* XPNobleSettingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleSettingViewController.m; sourceTree = "<group>"; };
|
||||||
|
9B86D87E2817F4A300494FCD /* XPNobleSettingNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNobleSettingNavView.h; sourceTree = "<group>"; };
|
||||||
|
9B86D87F2817F4A300494FCD /* XPNobleSettingNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleSettingNavView.m; sourceTree = "<group>"; };
|
||||||
9B92A3372797BE4500AD168F /* XPMineSkillTipView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineSkillTipView.h; sourceTree = "<group>"; };
|
9B92A3372797BE4500AD168F /* XPMineSkillTipView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineSkillTipView.h; sourceTree = "<group>"; };
|
||||||
9B92A3382797BE4500AD168F /* XPMineSkillTipView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineSkillTipView.m; sourceTree = "<group>"; };
|
9B92A3382797BE4500AD168F /* XPMineSkillTipView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineSkillTipView.m; sourceTree = "<group>"; };
|
||||||
9B92A33A2797E38100AD168F /* XPMineHeadItemTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadItemTableViewCell.h; sourceTree = "<group>"; };
|
9B92A33A2797E38100AD168F /* XPMineHeadItemTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadItemTableViewCell.h; sourceTree = "<group>"; };
|
||||||
@@ -3285,6 +3294,8 @@
|
|||||||
9BEE3D1627858E5700C83219 /* XPNobleAuthorityDescView.m */,
|
9BEE3D1627858E5700C83219 /* XPNobleAuthorityDescView.m */,
|
||||||
9BBC02852786D75C0007C24B /* XPNobleUpgradeLevelView.h */,
|
9BBC02852786D75C0007C24B /* XPNobleUpgradeLevelView.h */,
|
||||||
9BBC02862786D75C0007C24B /* XPNobleUpgradeLevelView.m */,
|
9BBC02862786D75C0007C24B /* XPNobleUpgradeLevelView.m */,
|
||||||
|
9B86D87E2817F4A300494FCD /* XPNobleSettingNavView.h */,
|
||||||
|
9B86D87F2817F4A300494FCD /* XPNobleSettingNavView.m */,
|
||||||
);
|
);
|
||||||
path = SubViews;
|
path = SubViews;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -3344,6 +3355,8 @@
|
|||||||
9BC5C8EC277AFF63007C8719 /* XPNobleCenterViewController.m */,
|
9BC5C8EC277AFF63007C8719 /* XPNobleCenterViewController.m */,
|
||||||
9BC5C8F4277B0263007C8719 /* XPNobleCenterListViewController.h */,
|
9BC5C8F4277B0263007C8719 /* XPNobleCenterListViewController.h */,
|
||||||
9BC5C8F5277B0263007C8719 /* XPNobleCenterListViewController.m */,
|
9BC5C8F5277B0263007C8719 /* XPNobleCenterListViewController.m */,
|
||||||
|
9B86D87B2817EA0900494FCD /* XPNobleSettingViewController.h */,
|
||||||
|
9B86D87C2817EA0900494FCD /* XPNobleSettingViewController.m */,
|
||||||
9BEE3D0C27853BD000C83219 /* ThemeColor+NobleCenter.h */,
|
9BEE3D0C27853BD000C83219 /* ThemeColor+NobleCenter.h */,
|
||||||
9BEE3D0D27853BD000C83219 /* ThemeColor+NobleCenter.m */,
|
9BEE3D0D27853BD000C83219 /* ThemeColor+NobleCenter.m */,
|
||||||
);
|
);
|
||||||
@@ -4037,6 +4050,8 @@
|
|||||||
9B6B3AAA278C2EA7005551EC /* XPRoomNobleLevelUpView.m */,
|
9B6B3AAA278C2EA7005551EC /* XPRoomNobleLevelUpView.m */,
|
||||||
9BC8C82E28090C9200C24F85 /* XPRoomAnchorRankBannerView.h */,
|
9BC8C82E28090C9200C24F85 /* XPRoomAnchorRankBannerView.h */,
|
||||||
9BC8C82F28090C9200C24F85 /* XPRoomAnchorRankBannerView.m */,
|
9BC8C82F28090C9200C24F85 /* XPRoomAnchorRankBannerView.m */,
|
||||||
|
9B86D8782817DD8400494FCD /* XPRoomEnterHideTipView.h */,
|
||||||
|
9B86D8792817DD8400494FCD /* XPRoomEnterHideTipView.m */,
|
||||||
E838D99E275E1BF60079E0B5 /* XPRoomAnimationView.h */,
|
E838D99E275E1BF60079E0B5 /* XPRoomAnimationView.h */,
|
||||||
E838D99F275E1BF60079E0B5 /* XPRoomAnimationView.m */,
|
E838D99F275E1BF60079E0B5 /* XPRoomAnimationView.m */,
|
||||||
9BC9DAED27E33B3F009EE409 /* XPRoomGiftAnimationParser.h */,
|
9BC9DAED27E33B3F009EE409 /* XPRoomGiftAnimationParser.h */,
|
||||||
@@ -6085,6 +6100,7 @@
|
|||||||
E824545C26F5EEBA00BE8163 /* XPMineVerifIdentityPresenter.m in Sources */,
|
E824545C26F5EEBA00BE8163 /* XPMineVerifIdentityPresenter.m in Sources */,
|
||||||
9B92A3562798096000AD168F /* XPSkillCardPresenter.m in Sources */,
|
9B92A3562798096000AD168F /* XPSkillCardPresenter.m in Sources */,
|
||||||
E8A1E44E2761F98600B294CA /* XPCandyTreeViewController.m in Sources */,
|
E8A1E44E2761F98600B294CA /* XPCandyTreeViewController.m in Sources */,
|
||||||
|
9B86D8802817F4A300494FCD /* XPNobleSettingNavView.m in Sources */,
|
||||||
E836DBCD279BF2F10056F7DD /* XPLittleGameRoomListView.m in Sources */,
|
E836DBCD279BF2F10056F7DD /* XPLittleGameRoomListView.m in Sources */,
|
||||||
E8899C852785CC69007944BE /* XPRoomDatingAnimationView.m in Sources */,
|
E8899C852785CC69007944BE /* XPRoomDatingAnimationView.m in Sources */,
|
||||||
E84BF7D4277C383700EF8877 /* XPRoomSettingInputView.m in Sources */,
|
E84BF7D4277C383700EF8877 /* XPRoomSettingInputView.m in Sources */,
|
||||||
@@ -6337,6 +6353,7 @@
|
|||||||
E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */,
|
E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */,
|
||||||
E8A6C28F27CF43D600AC7442 /* XPHomeAttentionTableViewCell.m in Sources */,
|
E8A6C28F27CF43D600AC7442 /* XPHomeAttentionTableViewCell.m in Sources */,
|
||||||
E8E5E19D27C36C3500F457D8 /* XPHomeMenuTableViewCell.m in Sources */,
|
E8E5E19D27C36C3500F457D8 /* XPHomeMenuTableViewCell.m in Sources */,
|
||||||
|
9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */,
|
||||||
E8AC721026F43955007D6E91 /* UIImageConstant.m in Sources */,
|
E8AC721026F43955007D6E91 /* UIImageConstant.m in Sources */,
|
||||||
E81C27A026EEF83D0031E639 /* XPHtmlUrl.m in Sources */,
|
E81C27A026EEF83D0031E639 /* XPHtmlUrl.m in Sources */,
|
||||||
E800807C27FD84980055A8AB /* GuildInfoModel.m in Sources */,
|
E800807C27FD84980055A8AB /* GuildInfoModel.m in Sources */,
|
||||||
@@ -6409,6 +6426,7 @@
|
|||||||
9BBC02872786D75C0007C24B /* XPNobleUpgradeLevelView.m in Sources */,
|
9BBC02872786D75C0007C24B /* XPNobleUpgradeLevelView.m in Sources */,
|
||||||
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */,
|
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */,
|
||||||
E88B5CBD26FB3BDF00DA9178 /* XPTeenagerAlertView.m in Sources */,
|
E88B5CBD26FB3BDF00DA9178 /* XPTeenagerAlertView.m in Sources */,
|
||||||
|
9B86D87D2817EA0900494FCD /* XPNobleSettingViewController.m in Sources */,
|
||||||
E82D5C70276AE60000858D6D /* HeadwearModel.m in Sources */,
|
E82D5C70276AE60000858D6D /* HeadwearModel.m in Sources */,
|
||||||
E8A03DEC276301EF0098D9EA /* XPCandyTreeRankView.m in Sources */,
|
E8A03DEC276301EF0098D9EA /* XPCandyTreeRankView.m in Sources */,
|
||||||
E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */,
|
E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */,
|
||||||
|
22
xplan-ios/Assets.xcassets/Mine/Noble/noble_nav_setting.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_nav_setting@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_nav_setting@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
xplan-ios/Assets.xcassets/Mine/Noble/noble_nav_setting.imageset/noble_nav_setting@2x.png
vendored
Normal file
After Width: | Height: | Size: 712 B |
BIN
xplan-ios/Assets.xcassets/Mine/Noble/noble_nav_setting.imageset/noble_nav_setting@3x.png
vendored
Normal file
After Width: | Height: | Size: 912 B |
22
xplan-ios/Assets.xcassets/Mine/Noble/noble_setting_visible_close.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_setting_visible_close@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_setting_visible_close@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 545 B |
22
xplan-ios/Assets.xcassets/Mine/Noble/noble_setting_visible_open.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_setting_visible_open@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "noble_setting_visible_open@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 555 B |
22
xplan-ios/Assets.xcassets/Room/Position/room_position_ forbid_kicked.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_position_ forbid_kicked@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_position_ forbid_kicked@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
22
xplan-ios/Assets.xcassets/Room/room_enterRoom_hide.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_enterRoom_hide@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_enterRoom_hide@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
xplan-ios/Assets.xcassets/Room/room_enterRoom_hide.imageset/room_enterRoom_hide@2x.png
vendored
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
xplan-ios/Assets.xcassets/Room/room_enterRoom_hide.imageset/room_enterRoom_hide@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.9 KiB |
@@ -114,6 +114,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic, assign) GroupType groupType;
|
@property (nonatomic, assign) GroupType groupType;
|
||||||
///
|
///
|
||||||
@property (nonatomic,strong) NSArray<UserGiftWallInfoModel *> *userGiftWall;
|
@property (nonatomic,strong) NSArray<UserGiftWallInfoModel *> *userGiftWall;
|
||||||
|
///是否隐身进房 0:不隐身;1:隐身
|
||||||
|
@property (nonatomic, assign) NobleEnterHideStatus enterHide;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -60,4 +60,8 @@ typedef NS_ENUM(NSInteger, LittleGamePlayStatus) {
|
|||||||
LittleGamePlayStatus_Plying = 3,//游戏中
|
LittleGamePlayStatus_Plying = 3,//游戏中
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSUInteger, NobleEnterHideStatus) {
|
||||||
|
NobleEnterHideStatus_NoHide = 0,//不隐身
|
||||||
|
NobleEnterHideStatus_Hide = 1,//隐身
|
||||||
|
};
|
||||||
#endif /* XPEnum_h */
|
#endif /* XPEnum_h */
|
||||||
|
@@ -16,6 +16,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickBackButton:(UIButton *)sender;
|
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickBackButton:(UIButton *)sender;
|
||||||
///点击了帮助按钮
|
///点击了帮助按钮
|
||||||
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickHelpButton:(UIButton *)sender;
|
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickHelpButton:(UIButton *)sender;
|
||||||
|
///点击了设置按钮
|
||||||
|
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickSettingButton:(UIButton *)sender;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@@ -19,6 +19,8 @@
|
|||||||
@property (nonatomic,strong) UILabel *titleLabel;
|
@property (nonatomic,strong) UILabel *titleLabel;
|
||||||
///帮助按钮
|
///帮助按钮
|
||||||
@property (nonatomic, strong) UIButton *helpButton;
|
@property (nonatomic, strong) UIButton *helpButton;
|
||||||
|
///设置按钮
|
||||||
|
@property (nonatomic, strong) UIButton *settingButton;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation XPNobleCenterNavView
|
@implementation XPNobleCenterNavView
|
||||||
@@ -43,12 +45,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)settingButtonAction:(UIButton *)sender {
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNobleCenterNavView:didClickSettingButton:)]) {
|
||||||
|
[self.delegate xPNobleCenterNavView:self didClickSettingButton:sender];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - Private Method
|
#pragma mark - Private Method
|
||||||
- (void)initSubViews {
|
- (void)initSubViews {
|
||||||
self.backgroundColor = [UIColor clearColor];
|
self.backgroundColor = [UIColor clearColor];
|
||||||
[self addSubview:self.backButton];
|
[self addSubview:self.backButton];
|
||||||
[self addSubview:self.titleLabel];
|
[self addSubview:self.titleLabel];
|
||||||
[self addSubview:self.helpButton];
|
[self addSubview:self.helpButton];
|
||||||
|
[self addSubview:self.settingButton];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)initSubViewConstraints {
|
- (void)initSubViewConstraints {
|
||||||
@@ -60,6 +69,10 @@
|
|||||||
make.right.mas_equalTo(-15);
|
make.right.mas_equalTo(-15);
|
||||||
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
|
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
|
||||||
}];
|
}];
|
||||||
|
[self.settingButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.mas_equalTo(self.helpButton.mas_left).mas_offset(-8);
|
||||||
|
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
|
||||||
|
}];
|
||||||
|
|
||||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.mas_equalTo(self);
|
make.centerX.mas_equalTo(self);
|
||||||
@@ -90,6 +103,16 @@
|
|||||||
return _helpButton;
|
return _helpButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (UIButton *)settingButton {
|
||||||
|
if (!_settingButton) {
|
||||||
|
_settingButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_settingButton setImage:[UIImage imageNamed:@"noble_nav_setting"] forState:UIControlStateNormal];
|
||||||
|
_settingButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
|
||||||
|
[_settingButton addTarget:self action:@selector(settingButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_settingButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
|
}
|
||||||
|
return _settingButton;
|
||||||
|
}
|
||||||
|
|
||||||
- (UILabel *)titleLabel {
|
- (UILabel *)titleLabel {
|
||||||
if (!_titleLabel) {
|
if (!_titleLabel) {
|
||||||
|
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// XPNobleSettingNavView.h
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@class XPNobleSettingNavView;
|
||||||
|
@protocol XPNobleSettingNavViewDelegate <NSObject>
|
||||||
|
|
||||||
|
///点击了返回按钮
|
||||||
|
- (void)xPNobleSettingNavView:(XPNobleSettingNavView *)view didClickBackButton:(UIButton *)sender;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface XPNobleSettingNavView : UIView
|
||||||
|
|
||||||
|
///代理
|
||||||
|
@property (nonatomic,weak) id<XPNobleSettingNavViewDelegate> delegate;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,82 @@
|
|||||||
|
//
|
||||||
|
// XPNobleSettingNavView.m
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "XPNobleSettingNavView.h"
|
||||||
|
///Third
|
||||||
|
#import <Masonry/Masonry.h>
|
||||||
|
///Tool
|
||||||
|
#import "ThemeColor.h"
|
||||||
|
#import "UIButton+EnlargeTouchArea.h"
|
||||||
|
|
||||||
|
@interface XPNobleSettingNavView ()
|
||||||
|
///返回按钮
|
||||||
|
@property (nonatomic,strong) UIButton *backButton;
|
||||||
|
///显示文本
|
||||||
|
@property (nonatomic,strong) UILabel *titleLabel;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation XPNobleSettingNavView
|
||||||
|
|
||||||
|
|
||||||
|
- (instancetype)initWithFrame:(CGRect)frame {
|
||||||
|
self = [super initWithFrame:frame];
|
||||||
|
if (self) {
|
||||||
|
[self initSubViews];
|
||||||
|
[self initSubViewConstraints];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
#pragma mark - Response
|
||||||
|
- (void)backButtonAction:(UIButton *)sender {
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNobleSettingNavView:didClickBackButton:)]) {
|
||||||
|
[self.delegate xPNobleSettingNavView:self didClickBackButton:sender];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - Private Method
|
||||||
|
- (void)initSubViews {
|
||||||
|
self.backgroundColor = [UIColor clearColor];
|
||||||
|
[self addSubview:self.backButton];
|
||||||
|
[self addSubview:self.titleLabel];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)initSubViewConstraints {
|
||||||
|
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.mas_equalTo(15);
|
||||||
|
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerX.mas_equalTo(self);
|
||||||
|
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - Getters And Setters
|
||||||
|
- (UIButton *)backButton {
|
||||||
|
if (!_backButton) {
|
||||||
|
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_backButton setImage:[UIImage imageNamed:@"home_search_white_back"] forState:UIControlStateNormal];
|
||||||
|
_backButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
|
||||||
|
[_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_backButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
|
}
|
||||||
|
return _backButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)titleLabel {
|
||||||
|
if (!_titleLabel) {
|
||||||
|
_titleLabel = [[UILabel alloc] init];
|
||||||
|
_titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||||
|
_titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
|
||||||
|
_titleLabel.text = @"贵族设置";
|
||||||
|
_titleLabel.textColor = [UIColor whiteColor];
|
||||||
|
}
|
||||||
|
return _titleLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -23,6 +23,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
///贵族特权未点亮短描述颜色(0x8B7245)
|
///贵族特权未点亮短描述颜色(0x8B7245)
|
||||||
+ (UIColor *)noContainDescTextColor;
|
+ (UIColor *)noContainDescTextColor;
|
||||||
|
|
||||||
|
///贵族设置背景颜色(0x232017)
|
||||||
|
+ (UIColor *)nobleSettingBgColor;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -29,4 +29,9 @@
|
|||||||
return UIColorFromRGB(0x8B7245);
|
return UIColorFromRGB(0x8B7245);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///贵族设置背景颜色(0x232017)
|
||||||
|
+ (UIColor *)nobleSettingBgColor {
|
||||||
|
return UIColorFromRGB(0x232017);
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
#import "XPNobleCenterNavView.h"
|
#import "XPNobleCenterNavView.h"
|
||||||
#import "XPNobleCenterMyNobleView.h"
|
#import "XPNobleCenterMyNobleView.h"
|
||||||
#import "XPWebViewController.h"
|
#import "XPWebViewController.h"
|
||||||
#import "XPMineTeenagerViewController.h"
|
#import "XPNobleSettingViewController.h"
|
||||||
///P
|
///P
|
||||||
#import "XPNobleCenterPresenter.h"
|
#import "XPNobleCenterPresenter.h"
|
||||||
///model
|
///model
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
[super viewDidAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
[self hideNavigationBar];
|
[self hideNavigationBar];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -342,6 +342,11 @@
|
|||||||
[self.navigationController pushViewController:webVC animated:YES];
|
[self.navigationController pushViewController:webVC animated:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickSettingButton:(UIButton *)sender {
|
||||||
|
XPNobleSettingViewController * settingVC =[[XPNobleSettingViewController alloc] init];
|
||||||
|
[self.navigationController pushViewController:settingVC animated:YES];
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - events
|
#pragma mark - events
|
||||||
- (void)onOpenNobleButtonClick:(UIButton *)button {
|
- (void)onOpenNobleButtonClick:(UIButton *)button {
|
||||||
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick];
|
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick];
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// XPNobleSettingViewController.h
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MvpViewController.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface XPNobleSettingViewController : MvpViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,109 @@
|
|||||||
|
//
|
||||||
|
// XPNobleSettingViewController.m
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "XPNobleSettingViewController.h"
|
||||||
|
#import "XPNobleSettingNavView.h"
|
||||||
|
///Tool
|
||||||
|
#import "ThemeColor+NobleCenter.h"
|
||||||
|
#import "XPMacro.h"
|
||||||
|
#import "UIButton+EnlargeTouchArea.h"
|
||||||
|
///Third
|
||||||
|
#import <Masonry/Masonry.h>
|
||||||
|
|
||||||
|
@interface XPNobleSettingViewController ()<XPNobleSettingNavViewDelegate>
|
||||||
|
|
||||||
|
@property (nonatomic, strong) XPNobleSettingNavView *navView;
|
||||||
|
///标题
|
||||||
|
@property (nonatomic, strong) UILabel *label;
|
||||||
|
///开关
|
||||||
|
@property (nonatomic, strong) UIButton *switchButton;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation XPNobleSettingViewController
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
self.title = @"贵族设置";
|
||||||
|
self.view.backgroundColor = [ThemeColor nobleSettingBgColor];
|
||||||
|
[self initSubView];
|
||||||
|
[self initSubViewConstraints];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
[super viewWillAppear:animated];
|
||||||
|
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
|
||||||
|
}
|
||||||
|
- (BOOL)isHiddenNavBar {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)initSubView {
|
||||||
|
[self.view addSubview:self.navView];
|
||||||
|
[self.view addSubview:self.label];
|
||||||
|
[self.view addSubview:self.switchButton];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)initSubViewConstraints {
|
||||||
|
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.right.top.mas_equalTo(self.view);
|
||||||
|
make.height.mas_equalTo(kNavigationHeight);
|
||||||
|
}];
|
||||||
|
[self.label mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(kNavigationHeight+8);
|
||||||
|
make.left.mas_equalTo(15);
|
||||||
|
make.height.mas_equalTo(21);
|
||||||
|
}];
|
||||||
|
[self.switchButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(self.label);
|
||||||
|
make.right.mas_equalTo(-15);
|
||||||
|
make.height.mas_equalTo(16);
|
||||||
|
make.width.mas_equalTo(32);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark - XPNobleSettingNavViewDelegate
|
||||||
|
///点击了返回按钮
|
||||||
|
- (void)xPNobleSettingNavView:(XPNobleSettingNavView *)view didClickBackButton:(UIButton *)sender {
|
||||||
|
[self.navigationController popViewControllerAnimated:YES];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)switchButtonAction:(UIButton *)sender {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - getter
|
||||||
|
- (XPNobleSettingNavView *)navView {
|
||||||
|
if (!_navView) {
|
||||||
|
_navView = [[XPNobleSettingNavView alloc] init];
|
||||||
|
_navView.delegate = self;
|
||||||
|
}
|
||||||
|
return _navView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)label {
|
||||||
|
if (!_label) {
|
||||||
|
_label = [[UILabel alloc] init];
|
||||||
|
_label.text = @"隐身进房";
|
||||||
|
_label.textColor = [UIColor whiteColor];
|
||||||
|
_label.font = [UIFont systemFontOfSize:14];
|
||||||
|
}
|
||||||
|
return _label;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)switchButton {
|
||||||
|
if (!_switchButton) {
|
||||||
|
_switchButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_switchButton setImage:[UIImage imageNamed:@"noble_setting_visible_close"] forState:UIControlStateNormal];
|
||||||
|
[_switchButton setImage:[UIImage imageNamed:@"noble_setting_visible_open"] forState:UIControlStateSelected];
|
||||||
|
[_switchButton addTarget:self action:@selector(switchButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_switchButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
|
}
|
||||||
|
return _switchButton;
|
||||||
|
}
|
||||||
|
@end
|
@@ -75,7 +75,8 @@
|
|||||||
extModel.fromNick = userInfo.fromNick;
|
extModel.fromNick = userInfo.fromNick;
|
||||||
extModel.iosBubbleUrl = userInfo.iosBubbleUrl;
|
extModel.iosBubbleUrl = userInfo.iosBubbleUrl;
|
||||||
extModel.androidBubbleUrl = userInfo.androidBubbleUrl;
|
extModel.androidBubbleUrl = userInfo.androidBubbleUrl;
|
||||||
|
extModel.enterHide = userInfo.enterHide;
|
||||||
|
|
||||||
NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]];
|
NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]];
|
||||||
request.roomExt = [ext toJSONString];
|
request.roomExt = [ext toJSONString];
|
||||||
|
|
||||||
|
@@ -46,6 +46,7 @@
|
|||||||
#import "XPAcrossRoomPKPrizeView.h"
|
#import "XPAcrossRoomPKPrizeView.h"
|
||||||
#import "XPRoomViewController.h"
|
#import "XPRoomViewController.h"
|
||||||
#import "XPRoomAnchorRankBannerView.h"
|
#import "XPRoomAnchorRankBannerView.h"
|
||||||
|
#import "XPRoomEnterHideTipView.h"
|
||||||
|
|
||||||
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate>
|
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate>
|
||||||
///展示的不同层级
|
///展示的不同层级
|
||||||
@@ -232,6 +233,12 @@
|
|||||||
NIMMessageChatroomExtension * messageExt = (NIMMessageChatroomExtension *)message.messageExt;
|
NIMMessageChatroomExtension * messageExt = (NIMMessageChatroomExtension *)message.messageExt;
|
||||||
NSDictionary * dic = [(NSDictionary *)messageExt.roomExt.toJSONObject objectForKey:message.from];
|
NSDictionary * dic = [(NSDictionary *)messageExt.roomExt.toJSONObject objectForKey:message.from];
|
||||||
XPMessageRemoteExtModel * extModel = [XPMessageRemoteExtModel modelWithJSON:dic];
|
XPMessageRemoteExtModel * extModel = [XPMessageRemoteExtModel modelWithJSON:dic];
|
||||||
|
if (extModel.enterHide == NobleEnterHideStatus_Hide) {//隐身进房
|
||||||
|
if ([message.from isEqualToString:[AccountInfoStorage instance].getUid]) {
|
||||||
|
[self createEnterHideAnimation:dic];
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
[self userEnterRoom:content ext:extModel];
|
[self userEnterRoom:content ext:extModel];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -390,6 +397,35 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///自己的隐身进房提示
|
||||||
|
- (void)createEnterHideAnimation:(NSDictionary *)dic {
|
||||||
|
XPRoomEnterHideTipView *enterHideTipView = [[XPRoomEnterHideTipView alloc] initWithFrame:CGRectMake(KScreenWidth, (KScreenHeight - 48) * 0.5, KScreenWidth, 48)];
|
||||||
|
[self.highLevleView addSubview:enterHideTipView];
|
||||||
|
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||||
|
springAnimation.springSpeed = 12;
|
||||||
|
springAnimation.springBounciness = 10.f;
|
||||||
|
springAnimation.fromValue = [NSValue valueWithCGPoint:enterHideTipView.center];
|
||||||
|
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(enterHideTipView.frame.size.width / 2, enterHideTipView.center.y)];
|
||||||
|
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
|
||||||
|
if (finished) {
|
||||||
|
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
|
||||||
|
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, enterHideTipView.center.y)];
|
||||||
|
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2, enterHideTipView.center.y)];
|
||||||
|
moveAnimation.beginTime = CACurrentMediaTime() + 3;
|
||||||
|
moveAnimation.duration = 0.5;
|
||||||
|
moveAnimation.repeatCount = 1;
|
||||||
|
moveAnimation.removedOnCompletion = YES;
|
||||||
|
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
|
||||||
|
if (finished) {
|
||||||
|
[enterHideTipView removeFromSuperview];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
[enterHideTipView pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
[enterHideTipView pop_addAnimation:springAnimation forKey:@"roomEnterTipUpspingOutAnimation"];
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - 座驾的动画
|
#pragma mark - 座驾的动画
|
||||||
- (void)receiveDriveCarEnterRoom:(AttachmentModel *)attatchment {
|
- (void)receiveDriveCarEnterRoom:(AttachmentModel *)attatchment {
|
||||||
if ([self isInSudGame]) {return;}
|
if ([self isInSudGame]) {return;}
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// XPRoomEnterHideTipView.h
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
// 隐身进房提示
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface XPRoomEnterHideTipView : UIView
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,94 @@
|
|||||||
|
//
|
||||||
|
// XPRoomEnterHideTipView.m
|
||||||
|
// xplan-ios
|
||||||
|
//
|
||||||
|
// Created by GreenLand on 2022/4/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "XPRoomEnterHideTipView.h"
|
||||||
|
///Third
|
||||||
|
#import <Masonry/Masonry.h>
|
||||||
|
///Tool
|
||||||
|
#import "ThemeColor+Room.h"
|
||||||
|
#import "ThemeColor.h"
|
||||||
|
|
||||||
|
@interface XPRoomEnterHideTipView()
|
||||||
|
|
||||||
|
///背景
|
||||||
|
@property (nonatomic,strong) UIView *bgView;
|
||||||
|
///icon
|
||||||
|
@property (nonatomic,strong) UIImageView *iconImageView;
|
||||||
|
///描述
|
||||||
|
@property (nonatomic, strong) UILabel *descLabel;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation XPRoomEnterHideTipView
|
||||||
|
|
||||||
|
- (instancetype)initWithFrame:(CGRect)frame {
|
||||||
|
if (self = [super initWithFrame:frame]) {
|
||||||
|
[self initSubViews];
|
||||||
|
[self initSubViewConstraints];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)layoutSubviews {
|
||||||
|
[super layoutSubviews];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - Private Method
|
||||||
|
- (void)initSubViews {
|
||||||
|
[self addSubview:self.bgView];
|
||||||
|
[self.bgView addSubview:self.iconImageView];
|
||||||
|
[self.bgView addSubview:self.descLabel];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)initSubViewConstraints {
|
||||||
|
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerX.centerY.mas_equalTo(self);
|
||||||
|
make.width.mas_equalTo(190);
|
||||||
|
make.height.mas_equalTo(48);
|
||||||
|
}];
|
||||||
|
[self.iconImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.mas_equalTo(self.bgView).mas_offset(12);
|
||||||
|
make.centerY.mas_equalTo(self.bgView);
|
||||||
|
make.width.height.mas_equalTo(32);
|
||||||
|
}];
|
||||||
|
[self.descLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.mas_equalTo(self.iconImageView.mas_right).mas_offset(8);
|
||||||
|
make.centerY.mas_equalTo(self.bgView);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - Getters And Setters
|
||||||
|
- (UIView *)bgView {
|
||||||
|
if (!_bgView) {
|
||||||
|
_bgView = [[UIView alloc] init];
|
||||||
|
_bgView.backgroundColor = UIColorRGBAlpha(0x000000, 0.5);
|
||||||
|
_bgView.layer.cornerRadius = 24;
|
||||||
|
_bgView.layer.masksToBounds = YES;
|
||||||
|
}
|
||||||
|
return _bgView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIImageView *)iconImageView {
|
||||||
|
if (!_iconImageView) {
|
||||||
|
_iconImageView = [[UIImageView alloc] init];
|
||||||
|
_iconImageView.image = [UIImage imageNamed:@"room_enterRoom_hide"];
|
||||||
|
}
|
||||||
|
return _iconImageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)descLabel {
|
||||||
|
if (!_descLabel) {
|
||||||
|
UILabel *label = [[UILabel alloc] init];
|
||||||
|
label.font = [UIFont systemFontOfSize:14];
|
||||||
|
label.textColor = [UIColor whiteColor];
|
||||||
|
label.text = @"你已隐身进入房间~";
|
||||||
|
_descLabel = label;
|
||||||
|
}
|
||||||
|
return _descLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -42,6 +42,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic, copy) NSString *androidBubbleUrl;
|
@property (nonatomic, copy) NSString *androidBubbleUrl;
|
||||||
///iOS房间公屏气泡
|
///iOS房间公屏气泡
|
||||||
@property (nonatomic, copy) NSString *iosBubbleUrl;
|
@property (nonatomic, copy) NSString *iosBubbleUrl;
|
||||||
|
///是否隐身进房 0:不隐身;1:隐身
|
||||||
|
@property (nonatomic, assign) NobleEnterHideStatus enterHide;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -309,11 +309,20 @@
|
|||||||
}
|
}
|
||||||
return attribute;
|
return attribute;
|
||||||
} else if(attachment.second == Custom_Message_Sub_Update_RoomInfo_AnimateEffect) {
|
} else if(attachment.second == Custom_Message_Sub_Update_RoomInfo_AnimateEffect) {
|
||||||
|
NSDictionary * dic = attachment.data[@"roomInfo"];
|
||||||
|
if (dic.allKeys.count <=0) {
|
||||||
|
dic = attachment.data;
|
||||||
|
}
|
||||||
|
RoomInfoModel * roomInfo = [RoomInfoModel modelWithDictionary:dic];
|
||||||
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
|
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
|
||||||
[attribute appendAttributedString:[self createTextAttribute:@"消息:" color:[ThemeColor messageNickColor] font:kRoomMessageDefalutFont]];
|
[attribute appendAttributedString:[self createTextAttribute:@"消息:" color:[ThemeColor messageNickColor] font:kRoomMessageDefalutFont]];
|
||||||
[attribute appendAttributedString:[self createTextAttribute:@"管理员已关闭房间内礼物特效,点击底部" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
if (roomInfo.hasAnimationEffect) {
|
||||||
[attribute appendAttributedString:[self createImageAttribute:[UIImage imageNamed:@"room_menu_more"]]];
|
[attribute appendAttributedString:[self createTextAttribute:@"管理员已开启房间内礼物特效" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
||||||
[attribute appendAttributedString:[self createTextAttribute:@"图标即可开启" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
} else {
|
||||||
|
[attribute appendAttributedString:[self createTextAttribute:@"管理员已关闭房间内礼物特效,点击底部" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
||||||
|
[attribute appendAttributedString:[self createImageAttribute:[UIImage imageNamed:@"room_menu_more"]]];
|
||||||
|
[attribute appendAttributedString:[self createTextAttribute:@"图标即可开启" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
||||||
|
}
|
||||||
return attribute;
|
return attribute;
|
||||||
} else if (attachment.second == Custom_Message_Sub_Update_RoomInfo_CleanScreen) {
|
} else if (attachment.second == Custom_Message_Sub_Update_RoomInfo_CleanScreen) {
|
||||||
NSNumber *roleType = attachment.data[@"roleType"];
|
NSNumber *roleType = attachment.data[@"roleType"];
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
#import "RoomInfoModel.h"
|
#import "RoomInfoModel.h"
|
||||||
#import "AttachmentModel.h"
|
#import "AttachmentModel.h"
|
||||||
#import "RoomFaceSendInfoModel.h"
|
#import "RoomFaceSendInfoModel.h"
|
||||||
|
#import "XPMessageRemoteExtModel.h"
|
||||||
///View
|
///View
|
||||||
#import "XPRoomMessageTableViewCell.h"
|
#import "XPRoomMessageTableViewCell.h"
|
||||||
#import "XPRoomMessageHeaderView.h"
|
#import "XPRoomMessageHeaderView.h"
|
||||||
@@ -257,6 +258,14 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///判断是否隐身进房
|
||||||
|
- (BOOL)handleHideEnter:(NIMMessage *)message {
|
||||||
|
NIMMessageChatroomExtension * messageExt = (NIMMessageChatroomExtension *)message.messageExt;
|
||||||
|
NSDictionary * dic = [(NSDictionary *)messageExt.roomExt.toJSONObject objectForKey:message.from];
|
||||||
|
XPMessageRemoteExtModel * extModel = [XPMessageRemoteExtModel modelWithJSON:dic];
|
||||||
|
return extModel.enterHide;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - 添加数据并且做自动滚动
|
#pragma mark - 添加数据并且做自动滚动
|
||||||
///添加信息
|
///添加信息
|
||||||
- (void)addRoomMessage:(NIMMessage *)message {
|
- (void)addRoomMessage:(NIMMessage *)message {
|
||||||
@@ -578,16 +587,22 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
|||||||
//执行插入动画并滚动
|
//执行插入动画并滚动
|
||||||
[self scrollToBottom:YES];
|
[self scrollToBottom:YES];
|
||||||
}
|
}
|
||||||
|
BOOL hideEnter = [self handleHideEnter:message];
|
||||||
///插入进房消息及房间公告提示
|
if (!hideEnter) {
|
||||||
[self addRoomMessage:message];
|
///插入进房消息及房间公告提示
|
||||||
|
[self addRoomMessage:message];
|
||||||
|
}
|
||||||
if (!roomInfo.hasAnimationEffect) {
|
if (!roomInfo.hasAnimationEffect) {
|
||||||
[self roomInfoNoGiftAnimationMessage:message];
|
[self roomInfoNoGiftAnimationMessage:message];
|
||||||
}
|
}
|
||||||
[self createUserEnterRoomAddRoomtopicMessage];
|
[self createUserEnterRoomAddRoomtopicMessage];
|
||||||
}];
|
}];
|
||||||
} else {
|
} else {
|
||||||
[self addRoomMessage:message];
|
BOOL hideEnter = [self handleHideEnter:message];
|
||||||
|
if (!hideEnter) {
|
||||||
|
///插入进房消息及房间公告提示
|
||||||
|
[self addRoomMessage:message];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(content.eventType == NIMChatroomEventTypeInfoUpdated) {
|
} else if(content.eventType == NIMChatroomEventTypeInfoUpdated) {
|
||||||
|
@@ -47,6 +47,8 @@
|
|||||||
@property (nonatomic,strong) UILabel *leaveLabel;
|
@property (nonatomic,strong) UILabel *leaveLabel;
|
||||||
///礼物值
|
///礼物值
|
||||||
@property (nonatomic,strong) MicroGiftValueView *giftValueView;
|
@property (nonatomic,strong) MicroGiftValueView *giftValueView;
|
||||||
|
///防被踢
|
||||||
|
@property (nonatomic, strong) UIImageView *forbidKickView;
|
||||||
///麦序的信息
|
///麦序的信息
|
||||||
@property (nonatomic,strong) MicroQueueModel *microModel;
|
@property (nonatomic,strong) MicroQueueModel *microModel;
|
||||||
///麦位的用户信息
|
///麦位的用户信息
|
||||||
@@ -100,6 +102,7 @@
|
|||||||
[self addSubview:self.avatarImageView];
|
[self addSubview:self.avatarImageView];
|
||||||
[self addSubview:self.headWearImageView];
|
[self addSubview:self.headWearImageView];
|
||||||
[self addSubview:self.micStateImageView];
|
[self addSubview:self.micStateImageView];
|
||||||
|
[self addSubview:self.forbidKickView];
|
||||||
[self addSubview:self.giftValueView];
|
[self addSubview:self.giftValueView];
|
||||||
[self addSubview:self.faceImageView];
|
[self addSubview:self.faceImageView];
|
||||||
|
|
||||||
@@ -132,6 +135,10 @@
|
|||||||
[self.micStateImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.micStateImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.edges.mas_equalTo(self.avatarImageView);
|
make.edges.mas_equalTo(self.avatarImageView);
|
||||||
}];
|
}];
|
||||||
|
[self.forbidKickView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.bottom.mas_equalTo(self.avatarImageView);
|
||||||
|
make.width.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.mas_equalTo(self);
|
make.centerX.mas_equalTo(self);
|
||||||
@@ -480,6 +487,15 @@
|
|||||||
return _micStateImageView;
|
return _micStateImageView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (UIImageView *)forbidKickView {
|
||||||
|
if (!_forbidKickView) {
|
||||||
|
_forbidKickView = [[UIImageView alloc] init];
|
||||||
|
_forbidKickView.image = [UIImage imageNamed:@"room_position_ forbid_kicked"];
|
||||||
|
_forbidKickView.hidden = YES;
|
||||||
|
}
|
||||||
|
return _forbidKickView;
|
||||||
|
}
|
||||||
|
|
||||||
- (MicroWaveView *)animationView {
|
- (MicroWaveView *)animationView {
|
||||||
if (!_animationView) {
|
if (!_animationView) {
|
||||||
_animationView = [[MicroWaveView alloc] init];
|
_animationView = [[MicroWaveView alloc] init];
|
||||||
|
@@ -751,6 +751,34 @@
|
|||||||
break;
|
break;
|
||||||
case UserCardItemType_KickOut:
|
case UserCardItemType_KickOut:
|
||||||
{
|
{
|
||||||
|
// 1、判断是否为防被踢用户
|
||||||
|
if (self.targetUserInfo.userVipInfoVO.vipLevel > 6) {
|
||||||
|
//2、判断是否为管理员操作
|
||||||
|
if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||||
|
[self showErrorToast:@"该用户为神皇贵族,只有房主才可以踢出哦~"];
|
||||||
|
} else {//房主操作
|
||||||
|
NSString *message = [NSString stringWithFormat:@"该用户为神皇贵族\n确认是否要将其踢出?"];
|
||||||
|
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||||
|
config.title = @"";
|
||||||
|
config.message = message;
|
||||||
|
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||||
|
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||||
|
NSString *message = [NSString stringWithFormat:@"游戏模式下默认该玩家退出游戏是否要将此用户踢出房间?"];
|
||||||
|
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||||
|
config.title = @"";
|
||||||
|
config.message = message;
|
||||||
|
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||||
|
[self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||||
|
} cancelHandler:^{
|
||||||
|
}];
|
||||||
|
} else {
|
||||||
|
[self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||||
|
}
|
||||||
|
} cancelHandler:^{
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||||
NSString *message = [NSString stringWithFormat:@"游戏模式下默认该玩家退出游戏是否要将此用户踢出房间?"];
|
NSString *message = [NSString stringWithFormat:@"游戏模式下默认该玩家退出游戏是否要将此用户踢出房间?"];
|
||||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||||
|