//
//  XXGLiveBarrage.h
//  LiveBarrage
//
//  Created by 张宝 on 16/12/15.
//  Copyright © 2016年 张宝. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "XXGLiveBarrageCell.h"

@protocol XXGLiveBarrageDelegate;

#pragma mark - <弹幕>
@interface XXGLiveBarrage : UIView
/**
 *  事件交互协议
 */
@property (weak, nonatomic) id<XXGLiveBarrageDelegate> delegate;
/**
 *  发送弹幕（必须先调用 startAnimation 函数 否则无效，会在 startAnimation 后启动）
 */
- (void)insertBarrages:(NSArray <XXGLiveBarrageCell *> *)barrages;
/**
 *  启动弹幕
 */
- (void)start;
/**
 *  停止动画,所有的缓存数据都会被清空
 */
- (void)stop;

@end

#pragma mark - <弹幕事件交互协议>
@protocol XXGLiveBarrageDelegate <NSObject>

@optional
/**
 *  弹幕点击事件回调
 */
- (void)xxpk_barrageView:(XXGLiveBarrage *)barrageView didSelectedCell:(XXGLiveBarrageCell *)cell;
/**
 *  当前插入的弹幕模型数组全部展示完成回调
 */
- (void)xxpk_barrageViewCompletedCurrentAnimations:(XXGLiveBarrage *)barrageView;
/**
 *  弹幕即将显示时调用
 */
- (void)xxpk_barrageView:(XXGLiveBarrage *)barrageView willDisplayCell:(XXGLiveBarrageCell *)cell;
/**
 *  弹幕显示完成调用
 */
- (void)xxpk_barrageView:(XXGLiveBarrage *)barrageView didEndDisplayingCell:(XXGLiveBarrageCell *)cell;

@end
