Files
peko-ios/YuMi/Modules/YMRoom/View/AnimationView/GiftAnimationManager.h

66 lines
1.7 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.

//
// GiftAnimationManager.h
// YuMi
//
// Created by P on 2024/12/9.
//
#import <Foundation/Foundation.h>
@class UIView;
@class GiftReceiveInfoModel;
NS_ASSUME_NONNULL_BEGIN
@protocol GiftAnimationDelegate <NSObject>
/**
* Returns the animation point for a given user ID in the stage view
* @param uid The user ID to get the animation point for
* @return CGPoint The point in the view's coordinate system where the animation should occur
*/
- (CGPoint)animationPointAtStageViewByUid:(NSString *)uid;
@optional
/**
* Called when a gift animation starts
* @param giftInfo The gift information model
*/
//- (void)didStartGiftAnimation:(GiftInfoModel *)giftInfo;
/**
* Called when a gift animation completes
* @param giftInfo The gift information model
*/
//- (void)didCompleteGiftAnimation:(GiftInfoModel *)giftInfo;
/**
* Called when the gift queue becomes empty
*/
- (void)didEmptyGiftQueue;
@end
@interface GiftAnimationManager : NSObject
@property (nonatomic, weak) id<GiftAnimationDelegate> delegate;
@property (nonatomic, strong) UIView *containerView;
// Configurable properties
@property (nonatomic, assign) NSTimeInterval animationInterval;
@property (nonatomic, assign) NSTimeInterval comboAnimationDelay;
@property (nonatomic, assign) NSTimeInterval standardAnimationDelay;
- (instancetype)initWithContainerView:(UIView *)containerView;
- (void)enqueueGift:(GiftReceiveInfoModel *)giftInfo;
- (void)startGiftQueue;
- (void)stopGiftQueue;
// 🔧 新增Combo状态管理方法
- (void)setUserComboState:(BOOL)isCombo forUser:(NSString *)uid;
- (void)clearUserComboState:(NSString *)uid;
- (void)updateUserGiftTime:(NSString *)uid;
- (void)cleanupExpiredStates;
@end
NS_ASSUME_NONNULL_END