|
|
@@ -8,7 +8,7 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
{
|
|
|
private AndroidJavaObject m_AJO;
|
|
|
private YouYiListener m_YouYiListener;
|
|
|
-
|
|
|
+ private SDKGameRoleInfo mSDKGameRoleInfo;
|
|
|
public YouYiSDKAndroid()
|
|
|
{
|
|
|
using (AndroidJavaClass ajc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
|
|
@@ -97,7 +97,7 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
else
|
|
|
m_YouYiListener.OnPayFailed();
|
|
|
}
|
|
|
- //m_AJO.Call("pay", cpOrderId, amount.ToString(), goodsId.ToString(), goodsName, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams);
|
|
|
+ //m_AJO.Call("pay", cpOrderId, amount.ToString(), goodsId.ToString(), goodsName, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams);
|
|
|
else
|
|
|
m_YouYiListener.OnPayFailed();
|
|
|
}
|
|
|
@@ -117,8 +117,9 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
}
|
|
|
if (m_AJO != null)
|
|
|
{
|
|
|
- JsonUtility.ToJson(gameRoleInfo);
|
|
|
- m_AJO.Call("createRoleLog", gameRoleInfo);
|
|
|
+ SetSDKGameRoleInfo(gameRoleInfo);
|
|
|
+ string data = JsonUtility.ToJson(mSDKGameRoleInfo);
|
|
|
+ m_AJO.Call("createRoleLog", data);
|
|
|
//m_AJO.Call("createRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
|
|
|
}
|
|
|
}
|
|
|
@@ -133,9 +134,10 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
}
|
|
|
if (m_AJO != null)
|
|
|
{
|
|
|
- JsonUtility.ToJson(gameRoleInfo);
|
|
|
- m_AJO.Call("loginRoleLog", gameRoleInfo);
|
|
|
- // m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
|
|
|
+ SetSDKGameRoleInfo(gameRoleInfo);
|
|
|
+ string data = JsonUtility.ToJson(mSDKGameRoleInfo);
|
|
|
+ m_AJO.Call("loginRoleLog", data);
|
|
|
+ // m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -149,8 +151,9 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
}
|
|
|
if (m_AJO != null)
|
|
|
{
|
|
|
- JsonUtility.ToJson(gameRoleInfo);
|
|
|
- m_AJO.Call("loginRoleLog", gameRoleInfo);
|
|
|
+ SetSDKGameRoleInfo(gameRoleInfo);
|
|
|
+ string data = JsonUtility.ToJson(mSDKGameRoleInfo);
|
|
|
+ m_AJO.Call("levelLog", data);
|
|
|
//m_AJO.Call("levelLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
|
|
|
}
|
|
|
}
|
|
|
@@ -181,26 +184,26 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
}
|
|
|
|
|
|
public override bool CheckHasModul(SDKModulType needCheckModulType)
|
|
|
- {
|
|
|
- if (needCheckModulType == SDKModulType.EXIT_VIEW)
|
|
|
- {
|
|
|
+ {
|
|
|
+ if (needCheckModulType == SDKModulType.EXIT_VIEW)
|
|
|
+ {
|
|
|
return true;
|
|
|
- }
|
|
|
- return base.CheckHasModul(needCheckModulType);
|
|
|
- }
|
|
|
-
|
|
|
- public override void OpenModul(SDKModulType sDKModulType)
|
|
|
- {
|
|
|
- if (sDKModulType == SDKModulType.EXIT_VIEW)
|
|
|
- {
|
|
|
- if (m_AJO != null)
|
|
|
+ }
|
|
|
+ return base.CheckHasModul(needCheckModulType);
|
|
|
+ }
|
|
|
+
|
|
|
+ public override void OpenModul(SDKModulType sDKModulType)
|
|
|
+ {
|
|
|
+ if (sDKModulType == SDKModulType.EXIT_VIEW)
|
|
|
+ {
|
|
|
+ if (m_AJO != null)
|
|
|
{
|
|
|
m_AJO.Call("exit");
|
|
|
}
|
|
|
- return;
|
|
|
- }
|
|
|
- base.OpenModul(sDKModulType);
|
|
|
- }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ base.OpenModul(sDKModulType);
|
|
|
+ }
|
|
|
|
|
|
public override bool IsReportAction() { return true; }
|
|
|
|
|
|
@@ -232,20 +235,20 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
AndroidJavaObject hashMapAJO = new AndroidJavaObject("java.util.HashMap");
|
|
|
object[] args = new object[2];
|
|
|
System.IntPtr putMethod = AndroidJNIHelper.GetMethodID(
|
|
|
- hashMapAJO.GetRawClass(), "put",
|
|
|
- "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
|
|
|
- foreach(var data in datas)
|
|
|
+ hashMapAJO.GetRawClass(), "put",
|
|
|
+ "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
|
|
|
+ foreach (var data in datas)
|
|
|
{
|
|
|
AndroidJavaObject key = GetAndroidJavaObject(data.Key);
|
|
|
if (key == null) continue;
|
|
|
AndroidJavaObject value = GetAndroidJavaObject(data.Value);
|
|
|
if (value == null) continue;
|
|
|
args[0] = key;
|
|
|
- args[1] = value;
|
|
|
- AndroidJNI.CallObjectMethod(
|
|
|
- hashMapAJO.GetRawObject(),
|
|
|
- putMethod,
|
|
|
- AndroidJNIHelper.CreateJNIArgArray(args));
|
|
|
+ args[1] = value;
|
|
|
+ AndroidJNI.CallObjectMethod(
|
|
|
+ hashMapAJO.GetRawObject(),
|
|
|
+ putMethod,
|
|
|
+ AndroidJNIHelper.CreateJNIArgArray(args));
|
|
|
key.Dispose();
|
|
|
value.Dispose();
|
|
|
}
|
|
|
@@ -303,7 +306,7 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
{
|
|
|
if (type.Equals(typeof(string)))
|
|
|
{
|
|
|
- return new AndroidJavaObject ("java.lang.String", value);
|
|
|
+ return new AndroidJavaObject("java.lang.String", value);
|
|
|
}
|
|
|
else if (type.Equals(typeof(AndroidJavaObject)))
|
|
|
{
|
|
|
@@ -316,16 +319,30 @@ public class YouYiSDKAndroid : SDKBase
|
|
|
private string GetCurRoleInfo()
|
|
|
{
|
|
|
string ret = null;
|
|
|
-
|
|
|
- GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
|
|
|
- if (gameRoleInfo != null)
|
|
|
+ SetSDKGameRoleInfo();
|
|
|
+ //GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
|
|
|
+ if (mSDKGameRoleInfo != null)
|
|
|
{
|
|
|
- ret = JsonUtility.ToJson(gameRoleInfo);
|
|
|
+ ret = JsonUtility.ToJson(mSDKGameRoleInfo);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ private void SetSDKGameRoleInfo(GameRoleInfo gameRoleInfo = null)
|
|
|
+ {
|
|
|
+ if (gameRoleInfo == null)
|
|
|
+ gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
|
|
|
+ if (gameRoleInfo == null) return;
|
|
|
+ if (mSDKGameRoleInfo == null)
|
|
|
+ {
|
|
|
+ mSDKGameRoleInfo = new SDKGameRoleInfo(gameRoleInfo);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ mSDKGameRoleInfo.Set(gameRoleInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -341,5 +358,72 @@ public class GameOrderInfo
|
|
|
public string cpExtra;
|
|
|
public string callbackUrl;
|
|
|
}
|
|
|
+public class SDKGameRoleInfo
|
|
|
+{
|
|
|
+ // 必填参数
|
|
|
+ public String openId;
|
|
|
+ public int serverId;
|
|
|
+ public String serverName;
|
|
|
+ public String roleId;
|
|
|
+ public String roleName;
|
|
|
+
|
|
|
+ public int roleLv;
|
|
|
+ public long roleCreateTime;
|
|
|
+ public long roleUpLvTime;
|
|
|
+
|
|
|
+ // 非必填参数
|
|
|
+ public int vipLv;
|
|
|
+ public int gender;
|
|
|
+ public int jobId;
|
|
|
+ public String jobName;
|
|
|
+ public long guildId;
|
|
|
+ public String guildName;
|
|
|
+ public int fightPower;
|
|
|
+ public String balance;
|
|
|
+
|
|
|
+
|
|
|
+ // 其它参数
|
|
|
+ public long lastLogoutTime;
|
|
|
+ public long loginTime;
|
|
|
+ public long openServerTime;
|
|
|
+
|
|
|
+ public SDKGameRoleInfo()
|
|
|
+ {
|
|
|
|
|
|
+ }
|
|
|
+ public SDKGameRoleInfo(GameRoleInfo roleInfo)
|
|
|
+ {
|
|
|
+ Set(roleInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Set(GameRoleInfo roleInfo)
|
|
|
+ {
|
|
|
+ // 必填参数
|
|
|
+ openId = roleInfo.openId;
|
|
|
+ serverId = roleInfo.serverId;
|
|
|
+ serverName = roleInfo.serverName;
|
|
|
+ roleId = roleInfo.roleId;
|
|
|
+ roleName = roleInfo.roleName;
|
|
|
+
|
|
|
+ roleLv = roleInfo.roleLv;
|
|
|
+ roleCreateTime = roleInfo.roleCreateTime;
|
|
|
+ roleUpLvTime = roleInfo.roleUpLvTime;
|
|
|
+
|
|
|
+ // 非必填参数
|
|
|
+ vipLv = roleInfo.vipLv;
|
|
|
+ gender = roleInfo.gender;
|
|
|
+ jobId = roleInfo.jobId;
|
|
|
+ jobName = roleInfo.jobName;
|
|
|
+ guildId = roleInfo.guildId;
|
|
|
+ guildName = roleInfo.guildName;
|
|
|
+ fightPower = roleInfo.fightPower;
|
|
|
+ balance = roleInfo.balance;
|
|
|
+
|
|
|
+
|
|
|
+ // 其它参数
|
|
|
+ lastLogoutTime = roleInfo.lastLogoutTime;
|
|
|
+ loginTime = roleInfo.loginTime;
|
|
|
+ openServerTime = roleInfo.openServerTime;
|
|
|
+ }
|
|
|
+}
|
|
|
#endif
|