using UnityEngine;
using System.Collections;
using System;
using System.Runtime.InteropServices;
using System.Net.Sockets;
using System.Text.RegularExpressions;
using LuaFramework;
using System.IO;
public class SDK : Manager
{
// Use this for initialization
static SDK sdk;
static LuaInterface.LuaFunction luaFuncCall = null;
static bool _bFreshHead = false;
#if UNITY_ANDROID
AndroidJavaClass jc = null;
static AndroidJavaObject jo = null;
#elif UNITY_IPHONE
[DllImport("__Internal")]
private static extern void Ios_CopyTextToClipboard(string text);
[DllImport("__Internal")]
private static extern void Ios_GetTextFromClipboard();
#endif
void Start()
{
#if UNITY_IPHONE && !UNITY_EDITOR
Ios_InitIAPManager();
#endif
}
private void Awake()
{
GameObject.DontDestroyOnLoad(this);
sdk = this;
#if UNITY_ANDROID && !UNITY_EDITOR
jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
#endif
}
public static void CopyTextToClipboard(string text)
{
#if UNITY_ANDROID && !UNITY_EDITOR
jo.Call("CopyTextToClipboard", text);
#elif UNITY_IPHONE && !UNITY_EDITOR
Ios_CopyTextToClipboard(text);
#else
TextEditor t = new TextEditor();
t.text = text;
t.OnFocus();
t.Copy();
#endif
}
public static void GetTextFromClipboard(LuaInterface.LuaFunction getTextCall)
{
luaFuncCall = getTextCall;
#if UNITY_ANDROID && !UNITY_EDITOR
jo.Call("GetTextFromClipboard");
#elif UNITY_IPHONE && !UNITY_EDITOR
Ios_GetTextFromClipboard();
#else
if (luaFuncCall != null)
{
luaFuncCall.Call(GUIUtility.systemCopyBuffer);
luaFuncCall.Dispose();
luaFuncCall = null;
}
#endif
}
public void OnGetTextFromClipboard(string str)
{
if (luaFuncCall != null)
{
luaFuncCall.Call(str);
luaFuncCall.Dispose();
luaFuncCall = null;
}
}
}
IOS平台用到的动态库:https://download.youkuaiyun.com/download/u011976408/12890423