gdl_123 9 месяцев назад
Родитель
Сommit
b824d0b181

+ 123 - 39
Build/BuildDependenceResource/Plugins/SDKBridge/TZ_android/YouYiSDKAndroid.cs

@@ -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