Exemple #1
0
        public void SubmitLoginData(int level)
        {
            if (Application.platform == RuntimePlatform.Android)
            {
                if (!mInitialized)
                {
                    EB.Debug.LogError("UCSDKManager.SubmitLoginData: not initialized");
                    return;
                }

                var user = Hub.LoginManager.LocalUser;
                if (user == null)
                {
                    return;
                }

                var    worlds    = Hub.LoginManager.GameWorlds;
                var    world     = System.Array.Find(worlds, w => w.Id == user.WorldId);
                string worldName = world != null ? world.Name : (worlds.Length > 0 ? worlds[0].Name : "Default");

                SDKParams loginGameRole = new SDKParams();
                loginGameRole.Add(SDKParamKey.STRING_ZONE_ID, user.WorldId.ToString());
                loginGameRole.Add(SDKParamKey.STRING_ZONE_NAME, worldName);
                loginGameRole.Add(SDKParamKey.STRING_ROLE_ID, user.Id.Value.ToString());
                loginGameRole.Add(SDKParamKey.STRING_ROLE_NAME, user.Name);
                loginGameRole.Add(SDKParamKey.LONG_ROLE_LEVEL, (long)level);
                loginGameRole.Add(SDKParamKey.LONG_ROLE_CTIME, (long)user.CreateTime);
                UCGameSdk.submitRoleData(loginGameRole);
            }
        }
Exemple #2
0
        /// <summary>
        /// 打开指定页面
        /// </summary>
        public static void showPage(SDKParams sdkParams)
        {
            string action = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.ACTION))
            {
                action = (string)sdkParams[SDKParamKey.ACTION];
            }

            string business = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.BUSINESS))
            {
                business = (string)sdkParams[SDKParamKey.BUSINESS];
            }

            int orientation = 0;

            if (sdkParams.ContainsKey(SDKParamKey.ORIENTATION))
            {
                orientation = (int)sdkParams[SDKParamKey.ORIENTATION];
            }

            callSdkApi("showPage", action, business, orientation);
        }
Exemple #3
0
        public void Pay(EB.IAP.Item item, EB.IAP.Transaction transaction, System.Action <int, object> callback)
        {
            if (!mInitialized)
            {
                EB.Debug.LogError("UCSDKManager.Pay: not initialized");
                callback(UCStatusCode.NO_INIT, null);
                return;
            }

            mPayCallback += callback;

            var  user = Hub.Instance.LoginManager.LocalUser;
            long uid  = user.Id.Value;
            //int worldId = user.WorldId;
            string name  = user.Name;
            int    level = user.Level;

            object extraInfo = EB.JSON.Parse(transaction.payload);

            SDKParams param = new SDKParams();

            param.Add(SDKParamKey.ACCOUNT_ID, EB.Dot.String("accountId", extraInfo, "0"));
            param.Add(SDKParamKey.CP_ORDER_ID, EB.Dot.String("cpOrderId", extraInfo, transaction.transactionId));
            param.Add(SDKParamKey.AMOUNT, EB.Dot.String("amount", extraInfo, string.Format("{0:N2}", item.cost)));
            param.Add(SDKParamKey.SERVER_ID, EB.Dot.String("serverId", extraInfo, "0"));
            param.Add(SDKParamKey.ROLE_ID, EB.Dot.String("roleId", extraInfo, uid.ToString()));
            param.Add(SDKParamKey.ROLE_NAME, EB.Dot.String("roleName", extraInfo, name));
            param.Add(SDKParamKey.GRADE, EB.Dot.String("grade", extraInfo, level.ToString()));
            param.Add(SDKParamKey.CALLBACK_INFO, EB.Dot.String("callbackInfo", extraInfo, "0"));
            param.Add(SDKParamKey.NOTIFY_URL, EB.Dot.String("notifyUrl", extraInfo, mNotifyUrl));
            param.Add(SDKParamKey.SIGN_TYPE, "MD5");
            param.Add(SDKParamKey.SIGN, transaction.signature);
            UCGameSdk.pay(param);
        }
Exemple #4
0
    public static void SetSplashImages()
    {
        if (!File.Exists(logo1_Path))
        {
            Debug.LogError($"{logo1_Path} is null");
        }
        if (!File.Exists(logo2_Path))
        {
            Debug.LogError($"{logo2_Path} is null");
        }
        if (!File.Exists(splash_Path))
        {
            Debug.LogError($"{splash_Path} is null");
        }
        PlayerSettings.SplashScreen.show          = true;
        PlayerSettings.SplashScreen.showUnityLogo = false;
        SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

        if (sdkParams.SDKType == celia.game.SDKType.Native)
        {
            SetLogos(true);
            SetStaticSplash(false);
        }
        else
        {
            SetLogos(false);
            SetStaticSplash(true);
        }
    }
Exemple #5
0
        /// <summary>
        /// 删除Assets/Plugins/Android文件夹文件,复原配置
        /// </summary>
        private void SetSDKFolderBack()
        {
            //DeleteFolder(pluginAndroidPath);
            if (Directory.Exists(pluginAndroidPath))
            {
                Directory.Delete(pluginAndroidPath, true);
            }


            SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            sdkParams.SDKType = SDKType.None;
            sdkParams.GameId  = 193;
            sdkParams.AppKey  = "";
            sdkParams.PayKey  = "";
            sdkParams.AppId   = 101356;
            sdkParams.CchId   = 213;
            sdkParams.MdId    = 200000;
            EditorUtility.SetDirty(sdkParams);

            PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, "com.xlycs.rastar");
            PlayerSettings.Android.keystoreName = "";
            PlayerSettings.Android.keystorePass = "";
            PlayerSettings.Android.keyaliasName = "";
            PlayerSettings.Android.keyaliasPass = "";
        }
Exemple #6
0
        /// <summary>
        /// 把SDK信息写入配置文件
        /// </summary>
        private void SetSDKInfo(JObject sdkParams, SDKType sdkType)
        {
            if (sdkParams == null)
            {
                return;
            }
            int    gameId       = sdkParams.Value <int>("GameId");
            string appKey       = sdkParams.Value <string>("AppKey");
            string payKey       = sdkParams.Value <string>("PayKey");
            int    appID        = sdkParams.Value <int>("AppId");
            int    cchID        = sdkParams.Value <int>("CchId");
            int    mdID         = sdkParams.Value <int>("MdId");
            string AppleAppleID = sdkParams.Value <string>("AppleAppleID");
            // 保存到包内配置
            SDKParams pakageSDKParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            pakageSDKParams.SDKType    = sdkType;
            pakageSDKParams.GameId     = gameId;
            pakageSDKParams.AppKey     = appKey;
            pakageSDKParams.PayKey     = payKey;
            pakageSDKParams.AppId      = appID;
            pakageSDKParams.CchId      = cchID;
            pakageSDKParams.MdId       = mdID;
            pakageSDKParams.AppleAppId = AppleAppleID;
            EditorUtility.SetDirty(pakageSDKParams);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
Exemple #7
0
        public static void IOSRebackSettings()
        {
            SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            sdkParams.SDKType = SDKType.None;
            EditorUtility.SetDirty(sdkParams);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            Debug.Log("--**--还原默认配置--**--");
        }
Exemple #8
0
        public static void InitializeSDK(System.Action <string, bool> callback)
        {
            if (mInitialized)
            {
                EB.Debug.LogWarning("UCSDKManager.InitializeSDK: Initialized");
                callback(null, true);
                return;
            }

            if (Application.platform != RuntimePlatform.Android)
            {
                callback("Not support", false);
                return;
            }

            mInitCallback += callback;

            if (!mInitializing)
            {
                mInitializing = true;

                SparxUCSDKManager.InitCallback += delegate(bool sucess, string msg)
                {
                    EB.Debug.Log("InitCallback: sucess={0}, msg={1}", sucess, msg);

                    mInitializing = false;

                    if (sucess)
                    {
                        mInitialized = true;
                    }

                    if (mInitCallback != null)
                    {
                        mInitCallback(mInitialized ? null : msg, mInitialized);
                        mInitCallback = null;
                    }
                };

                new GameObject("uc_plugin_listener", typeof(SparxUCSDKManager));

                SDKParams param = new SDKParams();
                param.Add(SDKParamKey.DEBUG_MODE, false);
                param.Add(SDKParamKey.GAME_ID, defaultGameId);

                GameParamInfo info = new GameParamInfo();
                info.GameId           = defaultGameId;
                info.Orientation      = UCOrientation.LANDSCAPE;
                info.EnablePayHistory = true;
                info.EnableUserChange = true;
                param.Add(SDKParamKey.GAME_PARAMS, info);

                UCGameSdk.initSDK(param);
            }
        }
Exemple #9
0
        public static void IOSGameSettings()
        {
            //加密配置文件
            //剧情相关
            //服务器ip端口配置
            SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            sdkParams.SDKType = SDKType.None;
            EditorUtility.SetDirty(sdkParams);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            Debug.Log("--**--2.IOSGameSettings--**--");
        }
Exemple #10
0
        /// <summary>
        /// 设置玩家选择的游戏分区及角色信息
        /// </summary>
        public static void submitRoleData(SDKParams sdkParams)
        {
            string zoneId = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.STRING_ZONE_ID))
            {
                zoneId = (string)sdkParams[SDKParamKey.STRING_ZONE_ID];
            }

            string zoneName = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.STRING_ZONE_NAME))
            {
                zoneName = (string)sdkParams[SDKParamKey.STRING_ZONE_NAME];
            }

            string roleId = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.STRING_ROLE_ID))
            {
                roleId = (string)sdkParams[SDKParamKey.STRING_ROLE_ID];
            }

            string roleName = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.STRING_ROLE_NAME))
            {
                roleName = (string)sdkParams[SDKParamKey.STRING_ROLE_NAME];
            }

            long roleLevel = 0;

            if (sdkParams.ContainsKey(SDKParamKey.LONG_ROLE_LEVEL))
            {
                roleLevel = (long)sdkParams[SDKParamKey.LONG_ROLE_LEVEL];
            }

            long roleCTime = 0;

            if (sdkParams.ContainsKey(SDKParamKey.LONG_ROLE_CTIME))
            {
                roleCTime = (long)sdkParams[SDKParamKey.LONG_ROLE_CTIME];
            }

            callSdkApi("submitRoleData", zoneId, zoneName, roleId, roleName, roleLevel, roleCTime);
        }
Exemple #11
0
        public void InitializeSDK(object options, System.Action <string, bool> callback)
        {
            if (mInitialized)
            {
                EB.Debug.LogWarning("UCSDKManager.InitializeSDK: Initialized");
                callback(null, true);
                return;
            }

            if (Application.platform != RuntimePlatform.Android)
            {
                callback(null, false);
                return;
            }

            mInitCallback += callback;

            mNotifyUrl = EB.Dot.String("notifyUrl", options, mNotifyUrl);

            bool debugMode = EB.Dot.Bool("debugMode", options, false);
            int  gameId    = EB.Dot.Integer("gameId", options, 0);

            if (!mInitializing)
            {
                mInitializing = true;

                Hub.RunInBackground = true;

                new GameObject("uc_plugin_listener", typeof(SparxUCSDKManager));

                SDKParams param = new SDKParams();
                param.Add(SDKParamKey.DEBUG_MODE, debugMode);
                param.Add(SDKParamKey.GAME_ID, gameId);

                GameParamInfo info = new GameParamInfo();
                info.GameId           = gameId;
                info.Orientation      = UCOrientation.LANDSCAPE;
                info.EnablePayHistory = true;
                info.EnableUserChange = true;
                param.Add(SDKParamKey.GAME_PARAMS, info);

                UCGameSdk.initSDK(param);
            }
        }
Exemple #12
0
        /// <summary>
        /// 删除Assets/Plugins/iOS文件夹文件,复原配置
        /// </summary>
        private void SetSDKFolderBack()
        {
            if (Directory.Exists(pluginIOSPath))
            {
                Directory.Delete(pluginIOSPath, true);
            }

            SDKParams sdkParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            sdkParams.SDKType = SDKType.None;
            sdkParams.AppKey  = "";
            sdkParams.PayKey  = "";
            EditorUtility.SetDirty(sdkParams);

            PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, "com.rastargame.celia");
            PlayerSettings.Android.keystoreName = "";
            PlayerSettings.Android.keystorePass = "";
            PlayerSettings.Android.keyaliasName = "";
            PlayerSettings.Android.keyaliasPass = "";
        }
Exemple #13
0
        /// <summary>
        /// 初始化SDK
        /// </summary>
        public static void initSDK(SDKParams sdkParams)
        {
            bool debugMode = false;

            if (sdkParams.ContainsKey(SDKParamKey.DEBUG_MODE))
            {
                debugMode = (bool)sdkParams[SDKParamKey.DEBUG_MODE];
            }

            string gameId = string.Empty;

            if (sdkParams.ContainsKey(SDKParamKey.GAME_ID))
            {
                gameId = sdkParams[SDKParamKey.GAME_ID].ToString();
            }

            GameParamInfo gameInfo = new GameParamInfo();

            if (sdkParams.ContainsKey(SDKParamKey.GAME_PARAMS))
            {
                gameInfo = (GameParamInfo)sdkParams[SDKParamKey.GAME_PARAMS];
            }

            int orientation;

            switch (gameInfo.Orientation)
            {
            case UCOrientation.PORTRAIT:
                orientation = 0;
                break;

            case UCOrientation.LANDSCAPE:
                orientation = 1;
                break;

            default:
                orientation = 0;
                break;
            }
            callSdkApi("initSDK", debugMode, gameInfo.GameId, gameInfo.EnablePayHistory, gameInfo.EnableUserChange, orientation);
        }
Exemple #14
0
    private void generateGradleProperties(string path)
    {
        SDKParams sdkParams            = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");
        string    gradlePropertiesFile = path + "/gradle.properties";

        if (File.Exists(gradlePropertiesFile))
        {
            File.Delete(gradlePropertiesFile);
        }
        StreamWriter writer = File.CreateText(gradlePropertiesFile);

        writer.WriteLine("org.gradle.jvmargs = -Xmx8192M");
        writer.WriteLine("android.useAndroidX = true");
        writer.WriteLine("android.enableJetifier = true");
        if (sdkParams.SDKType == celia.game.SDKType.Native)
        {
            writer.WriteLine("android.enableD8.desugaring = false");
            writer.WriteLine("android.enableD8 = false");
        }
        writer.Flush();
        writer.Close();
    }
Exemple #15
0
        /// <summary>
        /// 支付
        /// </summary>
        public static void pay(SDKParams sdkParams)
        {
            string accountId = null;

            if (sdkParams.ContainsKey(SDKParamKey.ACCOUNT_ID))
            {
                accountId = (string)sdkParams[SDKParamKey.ACCOUNT_ID];
            }

            string cpOrderId = null;

            if (sdkParams.ContainsKey(SDKParamKey.CP_ORDER_ID))
            {
                cpOrderId = (string)sdkParams[SDKParamKey.CP_ORDER_ID];
            }

            string amount = null;

            if (sdkParams.ContainsKey(SDKParamKey.AMOUNT))
            {
                amount = (string)sdkParams[SDKParamKey.AMOUNT];
            }

            string serverId = null;

            if (sdkParams.ContainsKey(SDKParamKey.SERVER_ID))
            {
                serverId = (string)sdkParams[SDKParamKey.SERVER_ID];
            }

            string roleId = null;

            if (sdkParams.ContainsKey(SDKParamKey.ROLE_ID))
            {
                roleId = (string)sdkParams[SDKParamKey.ROLE_ID];
            }

            string roleName = null;

            if (sdkParams.ContainsKey(SDKParamKey.ROLE_NAME))
            {
                roleName = (string)sdkParams[SDKParamKey.ROLE_NAME];
            }

            string grade = null;

            if (sdkParams.ContainsKey(SDKParamKey.GRADE))
            {
                grade = (string)sdkParams[SDKParamKey.GRADE];
            }

            string callbackInfo = null;

            if (sdkParams.ContainsKey(SDKParamKey.CALLBACK_INFO))
            {
                callbackInfo = (string)sdkParams[SDKParamKey.CALLBACK_INFO];
            }

            string notifyUrl = null;

            if (sdkParams.ContainsKey(SDKParamKey.NOTIFY_URL))
            {
                notifyUrl = (string)sdkParams[SDKParamKey.NOTIFY_URL];
            }

            string signType = null;

            if (sdkParams.ContainsKey(SDKParamKey.SIGN_TYPE))
            {
                signType = (string)sdkParams[SDKParamKey.SIGN_TYPE];
            }

            string sign = null;

            if (sdkParams.ContainsKey(SDKParamKey.SIGN))
            {
                sign = (string)sdkParams[SDKParamKey.SIGN];
            }

            callSdkApi("pay", accountId, cpOrderId, amount, serverId, roleId, roleName, grade, callbackInfo, notifyUrl, signType, sign);
        }
Exemple #16
0
        /// <summary>
        /// 把SDK信息写入配置文件
        /// </summary>
        private void SetSDKInfo(SDKType sdkType, JObject sdkParams)
        {
            if (sdkParams == null)
            {
                return;
            }
            int    gameId       = sdkParams.Value <int>("GameId");
            string appKey       = sdkParams.Value <string>("AppKey");
            string payKey       = sdkParams.Value <string>("PayKey");
            int    appID        = sdkParams.Value <int>("AppId");
            int    cchID        = sdkParams.Value <int>("CchId");
            int    mdID         = sdkParams.Value <int>("MdId");
            string AppleAppleID = sdkParams.Value <string>("AppleAppleID");
            // 保存到包内配置
            SDKParams pakageSDKParams = AssetDatabase.LoadAssetAtPath <SDKParams>("Assets/Resources/SDKParams.asset");

            pakageSDKParams.SDKType    = sdkType;
            pakageSDKParams.GameId     = gameId;
            pakageSDKParams.AppKey     = appKey;
            pakageSDKParams.PayKey     = payKey;
            pakageSDKParams.AppId      = appID;
            pakageSDKParams.CchId      = cchID;
            pakageSDKParams.MdId       = mdID;
            pakageSDKParams.AppleAppId = AppleAppleID;
            EditorUtility.SetDirty(pakageSDKParams);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            // SDK信息写入Android配置文件
            string filePath       = "";
            string debugParamName = "";
            string debugValue     = "";

            switch (sdkType)
            {
            case SDKType.None:
                return;

            case SDKType.Native:
                filePath       = $"{pluginAndroidPath}/assets/sjoys_app.ini";
                debugParamName = "debug";
                debugValue     = option.ReleaseLevel == ReleaseLevel.Alpha ? "1" : "0";
                break;

            case SDKType.NativeChukai:
                filePath       = $"{pluginAndroidPath}/assets/sdk_config.ini";
                debugParamName = "loggerSwitch";
                debugValue     = option.ReleaseLevel == ReleaseLevel.Alpha ? "1" : "0";
                break;

            case SDKType.Oversea:
                filePath       = $"{pluginAndroidPath}/assets/rsdk/rastar_na_config.ini";
                debugParamName = "Debug_Switch";
                debugValue     = option.ReleaseLevel == ReleaseLevel.Alpha ? "true" : "false";
                break;

            case SDKType.CeliaOversea:
                AssetDatabase.Refresh();
                return;
            }
            File.AppendAllText(filePath, $"\r\n\r\napp_id={appID}\r\n\r\ncch_id={cchID}\r\n\r\nmd_id={mdID}\r\n\r\napp_key={appKey}\r\n\r\n{debugParamName}={debugValue}");

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }