//
//  KGKakaoInvitationEvent.h
//  KakaoGame SDK
//
//  Created by Ronaldo Kim on 2016. 9. 19..
//  Copyright (c) 2016. Kakao Corp. All rights reserved.
//

#import <KakaoGame/KGObject.h>

/**
 * @brief KGKakaoInvitationEvent클래스는 보상형 초대 이벤트 정보를 다룬다.
 */
@interface KGKakaoInvitationEvent : KGObject

/**
 * @brief 이벤트 아이디.(읽기만 가능)
 */
@property (atomic, readonly) int            eventId;

/**
 * @brief 이벤트 카드 노출 여부.(읽기만 가능)
 */
@property (atomic, readonly, getter=isEventCardEnabled) BOOL   eventCardEnabled;

/**
 * @brief 이벤트 시작 시각. Epoch time(단위:ms).(읽기만 가능)
 */
@property (nonatomic, readonly) long long   startTime;

/**
 * @brief 이벤트 종료 시각. Epoch time(단위:ms).(읽기만 가능)
 */
@property (nonatomic, readonly) long long   finishTime;

/**
 * @brief 초대자가 받을 수 있는 최대 보상 수.(읽기만 가능)
 */
@property (atomic, readonly) int            maxHostRewardCount;

/**
 * @brief 초대자가 받을 보상의 아이템 코드.(읽기만 가능)
 */
@property (atomic, readonly) NSString       *hostRewardCode;

/**
 * @brief 참여자가 받을 보상의 아이템 코드.(읽기만 가능)
 */
@property (atomic, readonly) NSString       *joinRewardCode;

/**
 * @brief 초대 URL.(읽기만 가능)
 */
@property (atomic, readonly) NSString       *invitationUrl;

/**
 * @brief 나의 초대로 참여한 플레이어 수.(읽기만 가능)
 */
@property (atomic, readonly) int            totalJoinerCount;

/**
 * @brief 초대/보상 이벤트 목록을 조회한다.
 *
 * @param completionHandler 완료 핸들러 [error:조회 결과][invitationEvents:초대/보상 이벤트 정보(KGKakaoInvitationEvent) 목록].
 */
+ (void)loadInvitationEventsWithCompletionHandler:(void(^)(NSError *error, NSArray *invitationEvents))completionHandler;

@end
