Files
peko-ios/YuMi/Modules/YMRoom/View/MoreView/Manager/TurboModeStateManager.h

58 lines
2.0 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

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

//
// TurboModeStateManager.h
// YuMi
//
// Created by Linus on 2025/1/13.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TurboModeStateManager : NSObject
+ (instancetype)sharedManager;
// 全局 turbo mode 开关(不按房间)
- (void)setTurboModeEnabled:(BOOL)enabled;
- (void)setTurboModeEnabledSilently:(BOOL)enabled; // 🔧 新增:静默设置,不发送通知
- (BOOL)isTurboModeEnabled;
// 将当前全局 turbo mode 应用到指定房间的三个开关(礼物特效临时、两全局屏幕持久化)
- (void)applyTurboModeToSwitchesForRoom:(NSString *)roomId;
// 获取应用全局 turbo 后的房间三开关视图态
- (NSDictionary<NSString *, NSNumber *> *)getSwitchStatesAfterTurboModeForRoom:(NSString *)roomId;
// 重置全局 turbo mode
- (void)resetTurboMode;
// 🔧 新增:启动 TurboModeStateManager在用户登录成功后调用
- (void)startupWithCurrentUser:(NSString *)userId;
// 🔧 新增:更新礼物特效开关状态(通过 RoomInfo.hasAnimationEffect 更新)
- (void)updateGiftEffectsForRoom:(NSString *)roomId enabled:(BOOL)enabled;
// 🔧 新增:获取各开关状态
- (BOOL)isGiftEffectsEnabledForRoom:(NSString *)roomId;
- (BOOL)isGlobalGiftScreenEnabledForRoom:(NSString *)roomId;
- (BOOL)isGlobalGameScreenEnabledForRoom:(NSString *)roomId;
- (BOOL)isCpMicEnabledForRoom:(NSString *)roomId;
// 🔧 新增:设置各开关状态
- (void)setGlobalGiftScreenEnabledForRoom:(NSString *)roomId enabled:(BOOL)enabled;
- (void)setGlobalGameScreenEnabledForRoom:(NSString *)roomId enabled:(BOOL)enabled;
- (void)setCpMicEnabledForRoom:(NSString *)roomId enabled:(BOOL)enabled;
// 🔧 新增设置当前房间ID进房成功后调用
- (void)setCurrentRoomId:(NSString *)roomId;
- (NSString *)loadCurrentRoomId;
// 🔧 新增:强制打开/关闭当前房间的所有开关(含通知与缓存更新)
- (void)forceCloseAllSwitches:(NSString *)roomId;
- (void)forceOpenAllSwitches:(NSString *)roomId;
@end
NS_ASSUME_NONNULL_END