209 lines
6.1 KiB
C#
209 lines
6.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
#if UNITY_IPHONE
|
|
namespace Thousandto.CoreSDK
|
|
{
|
|
public class FuncellSDKIOS : FuncellSDK
|
|
{
|
|
public FuncellSDKIOS()
|
|
{
|
|
UseSDK = GetUseSDK();
|
|
SDKInitFinish = GetSDKInitFinish();
|
|
}
|
|
|
|
#region 游戏内固定调用接口
|
|
public override void ReInitSDK()
|
|
{
|
|
SDKInitFinish = GetSDKInitFinish();
|
|
}
|
|
|
|
protected override void CallFunc(RequestOptType funcType, params string[] args)
|
|
{
|
|
switch (funcType)
|
|
{
|
|
case RequestOptType.ReqExit:
|
|
OnExitGame();
|
|
break;
|
|
case RequestOptType.ReqLogin:
|
|
lsLogin();
|
|
break;
|
|
case RequestOptType.ReqLogout:
|
|
lsLogout();
|
|
break;
|
|
case RequestOptType.ReqSwitchLogin:
|
|
lsSwitchAccount();
|
|
break;
|
|
case RequestOptType.ReqPay:
|
|
string iosPayJson = args[0];
|
|
//Debug.LogError("--->>> IOS Pay Json = " + iosPayJson);
|
|
lsPay(iosPayJson);
|
|
break;
|
|
}
|
|
}
|
|
|
|
public override void CopyToClipboard(string text)
|
|
{
|
|
lsCopyToClipboard(text);
|
|
}
|
|
public override void GetPhoto(int type, string path, int width, int height)
|
|
{
|
|
get_photo(type, width, height, path);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否是刘海屏
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override bool HasNotchInScreen()
|
|
{
|
|
return lsHasNotchInScreen();
|
|
}
|
|
|
|
//分享
|
|
public override void DoShare(string url)
|
|
{
|
|
lsShare(url);
|
|
}
|
|
|
|
//评分
|
|
public override void DoRate(string appStoreUrl)
|
|
{
|
|
lsStoreReView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取IDFA
|
|
/// </summary>
|
|
public override string GetADID()
|
|
{
|
|
return lsGetIDFA();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 调用一些系统的支持函数
|
|
public static void OpenUrlByBrowser(string url)
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
lsOpenUrlByBrowser(url);
|
|
#else
|
|
|
|
#endif
|
|
}
|
|
|
|
public static void OpenWebView(string url)
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
lsOpenWebView(url);
|
|
#else
|
|
|
|
#endif
|
|
}
|
|
|
|
public static bool GetSDKInitFinish()
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
return lsGetSDKInitFinish();
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
public static bool GetUseSDK()
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
return lsUseSDK();
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
#endregion
|
|
|
|
public static void DealMessage(PLATFORM_DEAL_TYPE type, string mess)
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
switch (type)
|
|
{
|
|
case PLATFORM_DEAL_TYPE.PDT_USERCENTER:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_WEBBBS:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_WEBBACKUP:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_WEBTOTAL:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_TOTAL_CREATEROLE:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_TOTAL_ENTERGAME:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_LEVEL_CHANGE:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_GAME_ACTIVE:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_WEBURL:
|
|
break;
|
|
case PLATFORM_DEAL_TYPE.PDT_COMPLETED_TUTORIAL:
|
|
break;
|
|
}
|
|
#endif
|
|
}
|
|
|
|
public bool OnExitGame()
|
|
{
|
|
#if UNITY_IPHONE && !UNITY_EDITOR
|
|
return lsExitGame();
|
|
#else
|
|
Application.Quit();
|
|
return true;
|
|
#endif
|
|
}
|
|
|
|
#region 调用动态库的支持函数
|
|
//----------------------C 调用的接口-------------------------
|
|
//获取SDK初始化完成标记
|
|
[DllImport("__Internal")]
|
|
private static extern bool lsGetSDKInitFinish();
|
|
//获取是否使用SDK
|
|
[DllImport("__Internal")]
|
|
private static extern bool lsUseSDK();
|
|
[DllImport("__Internal")]
|
|
private static extern bool lsLogin(); //登录接口处理
|
|
[DllImport("__Internal")]
|
|
private static extern void lsPay(string json);
|
|
[DllImport("__Internal")]
|
|
private static extern void lsLogout(); //由游戏层调用来的退出SDK的登录账号的注销操作
|
|
[DllImport("__Internal")]
|
|
private static extern void lsSwitchAccount(); //由游戏层调用来的切换账号的操作
|
|
|
|
//------------- 下面为可调用接口,也可以不用---------------
|
|
[DllImport("__Internal")]
|
|
private static extern void lsOpenUrlByBrowser(string url); //用外部的浏览器打开的一个网站接口
|
|
[DllImport("__Internal")]
|
|
private static extern void lsOpenWebView(string url); //打开一个内嵌web地址
|
|
[DllImport("__Internal")]
|
|
private static extern bool lsExitGame(); //增加一个关闭游戏的接口
|
|
[DllImport("__Internal")]
|
|
private static extern void lsCopyToClipboard(string text);
|
|
//取图片
|
|
[DllImport("__Internal")]
|
|
private static extern void get_photo(int type, int width, int height, string saveFilePath);
|
|
//评分
|
|
[DllImport("__Internal")]
|
|
private static extern void lsStoreReView();
|
|
//分享
|
|
[DllImport("__Internal")]
|
|
private static extern void lsShare(string url);
|
|
//是否是刘海屏
|
|
[DllImport("__Internal")]
|
|
private static extern bool lsHasNotchInScreen();
|
|
//获取IDFA
|
|
[DllImport("__Internal")]
|
|
private static extern string lsGetIDFA();
|
|
#endregion
|
|
}
|
|
}
|
|
#endif
|