miduo_client/Assets/LuaFramework/Scripts/SDK/Proxy/AndroidProxy.cs

127 lines
4.6 KiB
C#
Raw Normal View History

2020-05-09 13:31:21 +08:00
/**
* 1json...
* 2IOSMMP
*/
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 +
",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,
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
}
}