2020-05-09 13:31:21 +08:00
|
|
|
|
/**
|
|
|
|
|
* 问题1:参数传递最好改用json...懒得去搞了!!!
|
|
|
|
|
* 问题2:安卓和IOS端所需的相关参数竟然不同,MMP!!!,凑合用不改了。。。
|
|
|
|
|
*/
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System;
|
|
|
|
|
|
2020-07-15 13:44:37 +08:00
|
|
|
|
namespace SDK
|
2020-05-09 13:31:21 +08:00
|
|
|
|
{
|
|
|
|
|
public class AndroidProxy : Proxy
|
|
|
|
|
{
|
2020-07-15 17:53:40 +08:00
|
|
|
|
public static AndroidJavaObject currentActivity;
|
2020-05-09 13:31:21 +08:00
|
|
|
|
|
|
|
|
|
private const string CLS_UNITY_PLAYER = "com.unity3d.player.UnityPlayer";
|
|
|
|
|
|
|
|
|
|
public AndroidProxy()
|
|
|
|
|
{
|
|
|
|
|
var player = new AndroidJavaClass(CLS_UNITY_PLAYER);
|
|
|
|
|
currentActivity = player.GetStatic<AndroidJavaObject>("currentActivity");
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-16 17:00:24 +08:00
|
|
|
|
public override void Init()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
{
|
2020-07-16 17:00:24 +08:00
|
|
|
|
currentActivity.Call("Init");
|
2020-05-09 13:31:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Login()
|
|
|
|
|
{
|
|
|
|
|
currentActivity.Call("Login");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Exit()
|
|
|
|
|
{
|
|
|
|
|
currentActivity.Call("BackPressed");
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-15 13:44:37 +08:00
|
|
|
|
public override void SubmitExtraData(SDKSubmitExtraDataArgs args)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
{
|
|
|
|
|
currentActivity.Call("SubmitExtraData", args.dataType,
|
|
|
|
|
args.serverID,
|
|
|
|
|
args.serverName,
|
|
|
|
|
args.zoneID,
|
|
|
|
|
args.zoneName,
|
|
|
|
|
args.roleID,
|
|
|
|
|
args.roleName,
|
|
|
|
|
args.roleLevel,
|
|
|
|
|
args.guildID,
|
|
|
|
|
args.Vip,
|
|
|
|
|
args.moneyNum,
|
|
|
|
|
args.roleCreateTime,
|
|
|
|
|
args.roleLevelUpTime);
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-15 13:44:37 +08:00
|
|
|
|
public override void Pay(SDKPayArgs args)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
{
|
2020-07-17 11:39:24 +08:00
|
|
|
|
|
|
|
|
|
Debug.Log("consumerId = " + args.roleID +
|
|
|
|
|
",consumerName= " + args.roleName +
|
|
|
|
|
",mhtCurrency= " + args.coinNum +
|
|
|
|
|
",vipLevel= " + args.vip +
|
|
|
|
|
",playerName= " + args.guildID +
|
|
|
|
|
",roleName= " + args.roleName +
|
|
|
|
|
",roleId= " + args.roleID +
|
|
|
|
|
",orderDec= " + args.productDesc +
|
|
|
|
|
",amount= " + args.price +
|
|
|
|
|
",balance= " + "100" +
|
|
|
|
|
",goodDec= " + args.productName +
|
|
|
|
|
",count= " + args.buyNum +
|
|
|
|
|
",goodsId= " + args.productId +
|
2020-07-18 19:24:19 +08:00
|
|
|
|
",ext= " + args.extension //GameLogic.Util.Base64Encode(args.extension)
|
2020-07-17 11:39:24 +08:00
|
|
|
|
);
|
|
|
|
|
|
2020-05-09 13:31:21 +08:00
|
|
|
|
currentActivity.Call("Pay",args.productId,
|
|
|
|
|
args.productName,
|
|
|
|
|
args.productDesc,
|
|
|
|
|
args.price,
|
|
|
|
|
args.ratio,
|
|
|
|
|
args.buyNum,
|
|
|
|
|
args.coinNum,
|
|
|
|
|
args.zoneId,
|
|
|
|
|
args.serverID,
|
|
|
|
|
args.serverName,
|
|
|
|
|
args.accounted,
|
|
|
|
|
args.roleID,
|
|
|
|
|
args.roleName,
|
|
|
|
|
args.roleLevel,
|
|
|
|
|
args.vip,
|
|
|
|
|
args.guildID,
|
|
|
|
|
args.payNotifyUrl,
|
2020-07-18 19:24:19 +08:00
|
|
|
|
args.extension);
|
|
|
|
|
//GameLogic.Util.Base64Encode(args.extension));
|
2020-05-09 13:31:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override bool IsSupportExit()
|
|
|
|
|
{
|
|
|
|
|
return currentActivity.Call<bool>("IsSupportExit");
|
|
|
|
|
}
|
|
|
|
|
//sdk获取支付订单号
|
|
|
|
|
public override string GetPayOrderID()
|
|
|
|
|
{
|
|
|
|
|
return currentActivity.Call<string>("GetOrderID");
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-15 17:53:40 +08:00
|
|
|
|
|
2020-05-09 13:31:21 +08:00
|
|
|
|
//SDK截屏
|
2020-07-15 17:53:40 +08:00
|
|
|
|
public void ShotCapture()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
{
|
|
|
|
|
StartCoroutine(ScreenShotPNG());
|
|
|
|
|
}
|
|
|
|
|
IEnumerator ScreenShotPNG()
|
|
|
|
|
{
|
|
|
|
|
yield return new WaitForEndOfFrame();
|
|
|
|
|
int width = Screen.width;
|
|
|
|
|
int height = Screen.height;
|
|
|
|
|
Texture2D screenShot = new Texture2D(width, height, TextureFormat.RGB24, false);
|
|
|
|
|
screenShot.ReadPixels(new Rect(0, 0, width, height), 0, 0);
|
|
|
|
|
screenShot.Apply();
|
|
|
|
|
byte[] bytes = screenShot.EncodeToPNG();
|
|
|
|
|
Destroy(screenShot);
|
|
|
|
|
currentActivity.Call("SendScreenshotData", bytes);
|
|
|
|
|
}
|
2020-07-15 17:53:40 +08:00
|
|
|
|
|
2020-05-09 13:31:21 +08:00
|
|
|
|
}
|
|
|
|
|
}
|