//
//  XXGPlay.m
//  XXGOSPlayKit
//
//  Created by apple on 2025/2/27.
//

#import "XXGPlayOS.h"
#import "XXGPlayKitCore.h"
#import "XXGPlayKitConfig.h"
#import "XXGPlayKitCore+Others.h"

@implementation XXGPlayOS

+ (void)xxpk_setPlayDelegate:(id<XXGPlayDelegate>)delegate {
    XXGPlayKitCore.shared.xxpk_delegate = delegate;
}

+ (void)xxpk_comein {
    if (XXGPlayKitConfig.shared.xxpk_trampoline) {
        return;
    }
    [[XXGPlayKitCore shared] xxpk_coreComein];
}

+ (void)xxpk_logout {
    if (XXGPlayKitConfig.shared.xxpk_trampoline) {
        return;
    }
    [[XXGPlayKitCore shared] xxpk_logout];
}

+ (void)xxpk_createOrder:(NSString *)xxpk_cpOrderId
        xxpk_productCode:(NSString *)xxpk_productCode
             xxpk_amount:(NSString *)xxpk_amount
        xxpk_productName:(NSString *)xxpk_productName
           xxpk_serverId:(NSString *)xxpk_serverId
          xxpk_extraInfo:(NSString *)xxpk_extraInfo
             xxpk_roleId:(NSString *)xxpk_roleId
           xxpk_roleName:(NSString *)xxpk_roleName
          xxpk_roleLevel:(NSString *)xxpk_roleLevel {
    if (XXGPlayKitConfig.shared.xxpk_trampoline) {
        return;
    }
    XXGProductBody *xxpk_body = [XXGProductBody new];
    xxpk_body.xxpk_cpOrderId = xxpk_cpOrderId;
    xxpk_body.xxpk_productCode = xxpk_productCode;
    xxpk_body.xxpk_amount = xxpk_amount;
    xxpk_body.xxpk_productName = xxpk_productName;
    xxpk_body.xxpk_serverId = xxpk_serverId;
    xxpk_body.xxpk_roleId = xxpk_roleId;
    xxpk_body.xxpk_roleName = xxpk_roleName;
    xxpk_body.xxpk_roleLevel = xxpk_roleLevel;
    xxpk_body.xxpk_extraInfo = xxpk_extraInfo;
    [[XXGPlayKitCore shared] xxpk_creatOrder:xxpk_body xxpk_isCoinOrder:NO];
}

+ (void)xxpk_uploadRoleInfo:(NSString * _Nonnull)xxpk_serverId
            xxpk_serverName:(NSString * _Nonnull)xxpk_serverName
                xxpk_roleId:(NSString * _Nonnull)xxpk_roleId
              xxpk_roleName:(NSString * _Nonnull)xxpk_roleName
             xxpk_roleLevel:(NSString * _Nonnull)xxpk_roleLevel
                xxpk_extend:(NSDictionary * _Nullable)xxpk_extend {
    if (XXGPlayKitConfig.shared.xxpk_trampoline) {
        return;
    }
    XXGRoleBody *xxpk_role_body = [XXGRoleBody new];
    xxpk_role_body.xxpk_serverId = xxpk_serverId;
    xxpk_role_body.xxpk_serverName = xxpk_serverName;
    xxpk_role_body.xxpk_roleId = xxpk_roleId;
    xxpk_role_body.xxpk_roleName = xxpk_roleName;
    xxpk_role_body.xxpk_roleLevel = xxpk_roleLevel;
    xxpk_role_body.xxpk_extend = xxpk_extend;
    [[XXGPlayKitCore shared] xxpk_uploadRoleInfo:xxpk_role_body];
}

+ (void)xxpk_didFinishLaunchingWithOptions:(NSDictionary *)launchOptions xconnectOptions:(UISceneConnectionOptions *)connectionOptions {
    [[XXGPlayKitCore shared] xxpk_didFinishLaunchingWithOptions:launchOptions xconnectOptions:connectionOptions];
}

+ (BOOL)xxpk_applicationOpenURL:(NSURL *)url xoptions:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options xURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts {
    return [[XXGPlayKitCore shared] xxpk_applicationOpenURL:url xoptions:options xURLContexts:URLContexts];
}

// MARK: - 可选
+ (void)xxpk_openUserCenterSidebar:(NSString *)type {
    [[XXGPlayKitCore shared] xxpk_openUserCenterSidebar:type];
}

+ (void)xxpk_iapRepair {
    [[XXGPlayKitCore shared] xxpk_iapRepair];
}

+ (BOOL)xxpk_isBindFacebook {
    return XXGPlayKitCore.xxpk_isBindFacebook;
}

+ (BOOL)xxpk_isBindVK{
    return XXGPlayKitCore.xxpk_isBindVK;
}

+ (void)xxpk_facebookShareWithUrl:(NSString *)url{
    [XXGPlayKitCore xxpk_facebookShareWithUrl:url];
}

+ (void)xxpk_facebookShareWithImgUrl:(NSString *)imgUrl{
    [XXGPlayKitCore xxpk_facebookShareWithImgUrl:imgUrl];
}

+ (void)xxpk_vkPage {
    [XXGPlayKitCore xxpk_vkPage];
}

+ (void)xxpk_facebookPage{
    [XXGPlayKitCore xxpk_facebookPage];
}

+ (void)xxpk_facebookInvite {
    [XXGPlayKitCore xxpk_facebookInvite];
}

+ (void)xxpk_facebookBind:(void(^)(NSDictionary *_Nullable userInfo, NSString* errorMsg))handler{
    [XXGPlayKitCore xxpk_facebookBind:handler];
}

+ (void)xxpk_VKBind:(void(^)(NSDictionary *_Nullable userInfo, NSString* errorMsg))handler{
    [XXGPlayKitCore xxpk_VKBind:handler];
}

+ (void)xxpk_logFacebookEvent:(NSString *)event params:(NSDictionary *_Nullable)params {
    [XXGPlayKitCore xxpk_logFacebookEvent:event params:params];
}
+ (void)xxpk_logAppFlyerEvent:(NSString *)event params:(NSDictionary *_Nullable)params {
    [XXGPlayKitCore xxpk_logAppFlyerEvent:event params:params];
}
+ (void)xxpk_logFirebaseEvent:(NSString *)event params:(NSDictionary *_Nullable)params {
    [XXGPlayKitCore xxpk_logFirebaseEvent:event params:params];
}
+ (void)xxpk_logAdjustEvent:(NSString *)event params:(NSDictionary *_Nullable)params {
    [XXGPlayKitCore xxpk_logAdjustEvent:event params:params];
}

// MARK: - AppLovin
+ (void)xxpk_showRewardedAdForCustomData:(nullable NSString *)customData complate:(void(^)(BOOL result))complate {
    [XXGPlayKitCore xxpk_showRewardedAdForCustomData:customData complate:complate];
}

+ (void)xxpk_showRewardedAdForCustomData:(nullable NSString *)customData complateAdJson:(void(^)(BOOL result, NSDictionary *adJson))complateAdJson {
    [XXGPlayKitCore xxpk_showRewardedAdForCustomData:customData complateAdJson:complateAdJson];
}

// MARK: - 上报自定义日志
+ (void)xxpk_reportlogWithType:(NSString *)xxpk_type xxpk_content:(NSString *)xxpk_content {
    [XXGPlayKitCore.shared xxpk_reportlogWithType:xxpk_type xxpk_content:xxpk_content];
}

+ (void)xxpk_translateOriginalLanguage:(NSString *)originalLanguage targetLanguage:(NSString *)targetLanguage toBeTranslated:(NSString *)toBeTranslated complate:(void(^)(NSString *translated, NSString *_Nullable error))complate {
    [XXGPlayKitCore.shared xxpk_translateOriginalLanguage:originalLanguage targetLanguage:targetLanguage toBeTranslated:toBeTranslated complate:complate];
}
@end
