gdl_123 6 ヶ月 前
コミット
2febc1a131

+ 9 - 9
Assets/Content/Config/AndroidShopProductIDCfg.csv

@@ -1,11 +1,11 @@
 id,amount,productID,productName,other
 id,amount,productID,productName,other
-1,99,1001,99 рублей прямая покупка золота,
-2,199,1002,199 рублей прямая покупка золота,
-3,249,1003,249 рублей прямая покупка золота,
-4,449,1004,449 рублей прямая покупка золота,
-5,899,1005,899 рублей прямая покупка золота,
-6,1290,1006,1290 рублей прямая покупка золота,
-7,1790,1007,1790 рублей прямая покупка золота,
-8,4690,1008,4690 рублей прямая покупка золота,
-9,9490,1009,9490 рублей прямая покупка золота,
+1,0.99,product_0.99_cxz,0.99,
+2,1.99,product_1.99_cxz,1.99,
+3,2.99,product_2.99_cxz,2.99,
+4,4.99,product_4.99_cxz,4.99,
+5,9.99,product_9.99_cxz,9.99,
+6,14.99,product_14.99_cxz,14.99,
+7,19.99,product_19.99_cxz,19.99,
+8,49.99,product_49.99_cxz,49.99,
+9,99.99,product_99.99_cxz,99.99,

+ 5 - 5
Assets/Lua/Core/PlatformPack.lua

@@ -1,9 +1,9 @@
 local PlatformPack = {
-	URL_KEY = 'http://165.154.202.27:81//',
-	SERVERLIST_URL = 'http://165.154.202.27:81//serverlist',
-	NOTIFY_URL = 'http://165.154.202.27:88/res/NoticeNew/',
-	SPECIAL_INFO_URL = 'http://165.154.202.27:81//channel',
-	CUSTOMER_SERVICE_INFO_URL = 'http://165.154.202.27:81//vipService',
+	URL_KEY = 'http://110.40.223.119:81//',
+	SERVERLIST_URL = 'http://110.40.223.119:81//serverlist',
+	NOTIFY_URL = 'http://cxzcdn.hkhappygame.com/res/TestServerNotice/',
+	SPECIAL_INFO_URL = 'http://110.40.223.119:81//channel',
+	CUSTOMER_SERVICE_INFO_URL = 'http://110.40.223.119:81//vipService',
 }
 
 return PlatformPack

+ 1 - 1
Build/BuildDependenceResource/CurPackEnv.ini

@@ -1 +1 @@
-{"m_ChannelUniqueId":"12002021","m_BuildClassName":"Pack.PackPlatformAndroid"}
+{"m_ChannelUniqueId":"12002020","m_BuildClassName":"Pack.PackPlatformAndroid"}

+ 170 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs

@@ -0,0 +1,170 @@
+using System.Collections;
+using System.Text;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class YouYiListener : MonoBehaviour
+{
+    private UnityWebRequest m_CheckLoginWebRequest;
+    private string m_Token = string.Empty;
+    private string m_Uid = string.Empty;
+    private Coroutine m_CheckCoroutine = null;
+
+    public void OnInitSuccess()
+    {
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_SUCCESS_CB);
+    }
+    
+    public void OnInitFailed()
+    {
+        SDKMgr.Instance.SetInited(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_FAILED_CB);
+    }
+    
+    public void OnLoginSuccess(string token)
+    {
+        SDKMgr.Instance.SetLogined(true);
+        m_Token = token;
+        // StartCheckLogin();
+        UserInfo userInfo = new UserInfo()
+        {
+            uid = m_Uid,
+            userName = "",
+            token = m_Token,
+        };
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB , userInfo);
+    }
+
+    public void SetUserId(string uid) 
+    {
+        m_Uid = uid;
+    }
+
+    public void OnLoginFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_FAILED_CB);
+        StopCheckLogin();
+    }
+
+    public void OnLogoutSuccess()
+    {
+        m_Token = string.Empty;
+        SDKMgr.Instance.SetLogined(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGOUT_SUCCESS_CB);
+    }
+
+    public void OnExitSuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.EXIT_SUCCESS_CB);
+    }
+    
+    public void OnPaySuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_SUCCESS_CB);
+    }
+
+    public void OnPayFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_FAILED_CB);
+    }
+
+    public void OnCanEnterServerJudge(string args)
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.CAN_ENTER_SERVER_JUDGE_CB, args);
+    }
+
+    private void StopCheckLogin()
+    {
+        if (m_CheckCoroutine != null)
+        {
+            StopCoroutine(m_CheckCoroutine);
+            m_CheckCoroutine = null;
+        }
+        if (m_CheckLoginWebRequest != null)
+        {
+            m_CheckLoginWebRequest.Dispose();
+            m_CheckLoginWebRequest = null;
+        }
+    }
+
+    public void StartCheckLogin()
+    {
+        StopCheckLogin();
+        m_CheckCoroutine = StartCoroutine(CheckLogin());
+    }
+
+    private IEnumerator CheckLogin()
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.Append(SDKMgr.Instance.httpCheckUrl);
+        sb.Append("sdkcheck?platform=");
+        if (SDKMgr.Instance.sdk != null)
+        {
+            sb.Append(SDKMgr.Instance.sdk.SDKName);
+            string subplatform = SDKMgr.Instance.GetChannelName();
+            if (!string.IsNullOrEmpty(subplatform))
+            {
+                sb.Append("&sub_platform=");
+                sb.Append(subplatform);
+            }
+        }
+        sb.Append("&sauthjson=");
+        sb.Append(m_Token);
+        m_CheckLoginWebRequest = UnityWebRequest.Get(sb.ToString());
+        yield return m_CheckLoginWebRequest.SendWebRequest();
+        if (!string.IsNullOrEmpty(m_CheckLoginWebRequest.error))
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        var downloadHandler = m_CheckLoginWebRequest.downloadHandler;
+        if (downloadHandler == null)
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        string text = downloadHandler.text;
+        try
+        {
+            var result = JsonUtility.FromJson<CheckLoginResult>(text);
+            if (result.code == 0 && !string.IsNullOrEmpty(result.userinfo))
+            {
+                var arr = result.userinfo.Split('.');
+                var userinfoStr = Encoding.UTF8.GetString(System.Convert.FromBase64String(arr[0]));
+                var userinfo = JsonUtility.FromJson<LoginResultUserInfo>(userinfoStr);
+                UserInfo userInfo = new UserInfo()
+                {
+                    uid = m_Uid,
+                    userName = "",
+                    token = m_Token,
+                };
+                SDKMgr.Instance.SetInited(true);
+                SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB , userInfo);
+            }
+            else
+            {
+                OnLoginFailed();
+                SDKMgr.Instance.Logout();
+            }
+        }
+        catch
+        {
+            OnLoginFailed();
+            Debug.LogWarning("CheckLogin Fail   " + sb.ToString());
+        }
+    }
+
+    private class CheckLoginResult
+    {
+        public int code = 0;
+        public string userinfo = string.Empty;
+        public string platform = string.Empty;
+    }
+
+    private class LoginResultUserInfo
+    {
+        public string aid = string.Empty;
+    }
+}

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 487a476c504f9f74da509ffeb5deb207
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 297 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs

@@ -0,0 +1,297 @@
+#if UNITY_ANDROID
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class YouYiSDKAndroid : SDKBase
+{
+    private AndroidJavaObject m_AJO;
+    private YouYiListener m_YouYiListener;
+
+    public YouYiSDKAndroid()
+    {
+        using (AndroidJavaClass ajc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+        {
+            m_AJO = ajc.GetStatic<AndroidJavaObject>("currentActivity");
+        }
+        m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent<YouYiListener>();
+        SDKName = "SDKHwQuick";
+    }
+
+    public override void Init()
+    {
+        base.Init();
+        if (m_AJO != null)
+        {
+            m_AJO.Call("init", "SDKMgr");
+        }
+        else
+        {
+            m_YouYiListener.OnInitFailed();
+        }
+    }
+
+
+    public override void Login()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("login");
+        }
+        else
+        {
+            m_YouYiListener.OnLoginFailed();
+        }
+    }
+
+    public override void Logout()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("switchAccountLogin");
+        }
+    }
+
+    public override void SwitchAccount()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("switchAccountLogin");
+        }
+    }
+
+
+    public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams)
+    {
+        if (m_AJO != null)
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+
+
+            if (gameRoleInfo != null)
+            {
+                Dictionary<string, SDKMgr.ProductInfo> cfgs = SDKMgr.Instance.ProductInfos;
+
+                string pice = amount.ToString("F2");
+
+                if (cfgs.ContainsKey(pice))
+                {
+                    SDKMgr.ProductInfo productInfo = cfgs[pice];
+                    m_AJO.Call("pay", cpOrderId, amount.ToString(), productInfo.ID, productInfo.Name, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams, goodsName,productInfo.Other);
+
+                }
+                else
+                    m_YouYiListener.OnPayFailed();
+            }
+            else
+                m_YouYiListener.OnPayFailed();
+        }
+        else
+        {
+            m_YouYiListener.OnPayFailed();
+        }
+    }
+
+    public override void CreateRole()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][CreateRole] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("createRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void EnterGame()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][EnterGame] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void UpdateRoleLv()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("levelLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void ExitGame()
+    {
+
+    }
+
+    public override bool Exit()
+    {
+        return false;
+    }
+
+    public override bool Quit()
+    {
+        return false;
+    }
+
+    public override void CallInitSuccessCB()
+    {
+        m_YouYiListener.OnInitSuccess();
+    }
+
+    public override void CallLoginSuccessCB()
+    {
+        m_YouYiListener.StartCheckLogin();
+    }
+
+    public override bool CheckHasModul(SDKModulType needCheckModulType)
+	{
+		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)
+            {
+                m_AJO.Call("exit");
+            }
+			return;
+		}
+		base.OpenModul(sDKModulType);
+	}
+
+    public override bool IsReportAction() { return true; }
+
+    public override void ReportAction(Dictionary<object, object> datas)
+    {
+        base.ReportAction(datas);
+        if (m_AJO != null)
+        {
+            using (AndroidJavaObject hashMapAJO = DictionaryToJavaHashMap(datas))
+            {
+                m_AJO.Call("reportAction", hashMapAJO);
+            }
+        }
+    }
+
+    public override bool HasCanEnterServerJudge() { return true; }
+    public override void CanEnterServerJudge(string serverId, string serverName)
+    {
+        base.CanEnterServerJudge(serverId, serverName);
+        if (m_AJO != null)
+        {
+            m_AJO.Call("canEnterServerJudge", serverId, serverName);
+        }
+    }
+
+
+    private AndroidJavaObject DictionaryToJavaHashMap(Dictionary<object, object> datas)
+    {
+        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)
+        {
+            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));
+            key.Dispose();
+            value.Dispose();
+        }
+        return hashMapAJO;
+    }
+
+    private AndroidJavaObject GetAndroidJavaObject(object value)
+    {
+        System.Type type = value.GetType();
+        if (type.IsPrimitive)
+        {
+            if (type.Equals(typeof(int)))
+            {
+                return new AndroidJavaObject("java.lang.Integer", value);
+            }
+            if (type.Equals(typeof(bool)))
+            {
+                return new AndroidJavaObject("java.lang.Boolean", value);
+            }
+            if (type.Equals(typeof(byte)))
+            {
+                return new AndroidJavaObject("java.lang.Byte", value);
+            }
+            if (type.Equals(typeof(short)))
+            {
+                return new AndroidJavaObject("java.lang.Short", value);
+            }
+            if (type.Equals(typeof(long)))
+            {
+                return new AndroidJavaObject("java.lang.Long", value);
+            }
+            if (type.Equals(typeof(float)))
+            {
+                return new AndroidJavaObject("java.lang.Float", value);
+            }
+            if (type.Equals(typeof(double)))
+            {
+                double dVal = (double)value;
+                if (dVal > int.MinValue && dVal < int.MaxValue)
+                {
+                    int intVal = (int)dVal;
+                    if (intVal == dVal)
+                    {
+                        return new AndroidJavaObject("java.lang.Integer", intVal);
+                    }
+                }
+                return new AndroidJavaObject("java.lang.Double", value);
+            }
+            if (type.Equals(typeof(char)))
+            {
+                return new AndroidJavaObject("java.lang.Character", value);
+            }
+        }
+        else
+        {
+            if (type.Equals(typeof(string)))
+            {
+                return new AndroidJavaObject ("java.lang.String", value);
+            }
+            else if (type.Equals(typeof(AndroidJavaObject)))
+            {
+                return value as AndroidJavaObject;
+            }
+        }
+        return null;
+    }
+}
+#endif

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e7f8c4f237e05ee41a270d9e329ae034
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
ProjectSettings/ProjectSettings.asset

@@ -13,7 +13,7 @@ PlayerSettings:
   useOnDemandResources: 0
   accelerometerFrequency: 60
   companyName: WentingTec
-  productName: Rookie Odyssey
+  productName: "\u5FC3\u529B\u7269\u8BED"
   defaultCursor: {fileID: 0}
   cursorHotspot: {x: 0, y: 0}
   m_SplashScreenBackgroundColor: {r: 1, g: 1, b: 1, a: 1}
@@ -159,7 +159,7 @@ PlayerSettings:
   androidSupportedAspectRatio: 1
   androidMaxAspectRatio: 2.1
   applicationIdentifier:
-    Android: com.Runjin.Wonderland.gp
+    Android: com.xjro.yy
     WebGL: com.wt.no.sdk.test
     iPhone: com.cxzusgame.ios
   buildNumber:
@@ -846,7 +846,7 @@ PlayerSettings:
   webGLDecompressionFallback: 1
   webGLPowerPreference: 1
   scriptingDefineSymbols:
-    Android: USE_LUA;VUPLEX_CCU;FPS_DISABLE
+    Android: USE_LUA;VUPLEX_CCU;FPS_DISABLE;GAME_DEBUG
     Standalone: USE_LUA;VUPLEX_CCU
     WebGL: USE_LUA;VUPLEX_CCU
     iPhone: USE_LUA;VUPLEX_CCU