From 9835d457641448a1e8fa2237c6b6fe1845c913f4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 22 七月 2022 13:12:59 +0800
Subject: [PATCH] 0312 小7sdk

---
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/SplashActivity.java                        |   30 +++
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogin.java              |   18 ++
 SdkProject/library/build.gradle                                                             |    4 
 SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java |    1 
 SdkProject/plugins/x7sm/deps.gradle                                                         |    3 
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogout.java             |   19 ++
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformPay.java                |   46 +++++
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLevelUp.java                |   29 +++
 SdkProject/channel/x7bt5/java/com/secondworld/sdk/BtGameApp.java                            |   15 +
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPayFinished.java                |   16 +
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdCreateRole.java                 |   30 +++
 SdkProject/gradle.properties                                                                |    2 
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLogin.java                  |   29 +++
 SdkProject/plugins/x7sm/java/com/secondworld/sdk/QuickSdkMgr.java                           |  244 +++++++++++++++++++++++++++
 14 files changed, 482 insertions(+), 4 deletions(-)

diff --git a/SdkProject/channel/x7bt5/java/com/secondworld/sdk/BtGameApp.java b/SdkProject/channel/x7bt5/java/com/secondworld/sdk/BtGameApp.java
new file mode 100644
index 0000000..6c81f6a
--- /dev/null
+++ b/SdkProject/channel/x7bt5/java/com/secondworld/sdk/BtGameApp.java
@@ -0,0 +1,15 @@
+package com.secondworld.sdk;
+
+import android.app.Application;
+
+public class BtGameApp extends Application {
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        GameAppProxy.create(this, new BtGamePlatform());
+        GameActivity.registerProxy(BtGameMain.class);GameActivity.registerProxy(BtGameMain.class);
+    }
+
+
+}
diff --git a/SdkProject/gradle.properties b/SdkProject/gradle.properties
index 2d24210..e4fce8c 100644
--- a/SdkProject/gradle.properties
+++ b/SdkProject/gradle.properties
@@ -18,4 +18,4 @@
 ## Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=false
 #褰撳墠鏋勫缓鐨勬笭閬撳悕绉�
-CHANNEL_NAME=qkbt52
+CHANNEL_NAME=x7bt5
diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle
index 0fc6fa5..4af58ef 100644
--- a/SdkProject/library/build.gradle
+++ b/SdkProject/library/build.gradle
@@ -32,12 +32,12 @@
 def channelJavaFiles = getAllFiles(new ArrayList<File>(), "${channelPath}/java")
 
 android {
-    compileSdkVersion 29
+    compileSdkVersion 30
     buildToolsVersion "28.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 29
+        targetSdkVersion 30
         versionCode 1
         versionName "1.0"
 
diff --git a/SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java b/SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java
index 2323db8..3caf031 100644
--- a/SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java
+++ b/SdkProject/library/src/main/java/com/secondworld/sdk/command/CmdRequestPermissionStart.java
@@ -1,6 +1,5 @@
 package com.secondworld.sdk.command;
 
-import com.quicksdk.User;
 import com.secondworld.sdk.GameActivityProxy;
 import com.secondworld.sdk.PermissionManager;
 import com.secondworld.sdk.QuickSdkMgr;
diff --git a/SdkProject/plugins/x7sm/deps.gradle b/SdkProject/plugins/x7sm/deps.gradle
new file mode 100644
index 0000000..0ce6a16
--- /dev/null
+++ b/SdkProject/plugins/x7sm/deps.gradle
@@ -0,0 +1,3 @@
+dependencies {
+
+}
\ No newline at end of file
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/QuickSdkMgr.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/QuickSdkMgr.java
new file mode 100644
index 0000000..42b11c5
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -0,0 +1,244 @@
+package com.secondworld.sdk;
+
+
+import android.Manifest;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.provider.Settings;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
+import android.widget.Toast;
+
+import com.secondworld.sdk.utils.CodeA2U;
+import com.secondworld.sdk.utils.LogUtil;
+import com.secondworld.sdk.utils.RequestCode;
+import com.smwl.smsdk.abstrat.SMInitListener;
+import com.smwl.smsdk.abstrat.SMLoginListener;
+import com.smwl.smsdk.abstrat.SMPayListener;
+import com.smwl.smsdk.app.SMPlatformManager;
+import com.smwl.smsdk.bean.PayInfo;
+import com.smwl.smsdk.bean.RoleInfo;
+import com.smwl.smsdk.bean.SMUserInfo;
+import com.unity3d.player.UnityPlayer;
+import com.secondworld.sdk.PlatformDiff;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class QuickSdkMgr extends PlatformSdkMgr {
+
+    public static QuickSdkMgr I = new QuickSdkMgr();
+
+    String productCode;
+    String productKey;
+    int REQUEST_RECORD_PERMISSION_SETTING = 110;
+
+    private boolean hasPermissions(Activity activity) {
+        return (ContextCompat.checkSelfPermission(activity,
+                Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
+                && (ContextCompat.checkSelfPermission(activity,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
+    }
+
+    public void requestPermissions(Activity activity) {
+        try {
+            // check鏉冮檺
+            if (!hasPermissions(activity)) {
+                // 娌℃湁鍒欑敵璇锋潈闄�
+                ActivityCompat.requestPermissions(activity, new String[]{
+                        Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK);
+            } else {
+                QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey());
+                QuickSdkMgr.I.init(activity);
+            }
+        } catch (Exception e) {
+            //QuickSdkMgr.I.init(activity);
+            ActivityCompat.requestPermissions(activity, new String[]{
+                    Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK);
+        }
+    }
+
+    public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults) {
+        if (requestCode != RequestCode.QUICK) return;
+        if (hasPermissions(activity)) {
+            //鐢宠鎴愬姛
+            QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey());
+            QuickSdkMgr.I.init(activity);
+            return;
+        }
+        final AlertDialog.Builder normalDialog = new AlertDialog.Builder(activity);
+        normalDialog.setTitle("鏉冮檺璁剧疆");
+        normalDialog.setMessage("娓告垙闇�瑕侀儴鍒嗘潈闄愭墠鑳芥甯歌繍琛岋紝璇峰墠寰�璁剧疆涓墦寮�鐢佃瘽鏉冮檺涓庡瓨鍌ㄦ潈闄�");
+        normalDialog.setPositiveButton("鍓嶅線璁剧疆", new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+                Uri uri = Uri.fromParts("package", activity.getPackageName(), null);
+                intent.setData(uri);
+                activity.startActivityForResult(intent, REQUEST_RECORD_PERMISSION_SETTING);
+                dialog.dismiss();
+            }
+        });
+        normalDialog.setNegativeButton("閫�鍑�", new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                GameAppProxy.appExit();
+            }
+        });
+        // 鏄剧ず
+        normalDialog.show();
+    }
+
+    public void onActivityResult(Activity activity, int requestCode) {
+        if (requestCode == REQUEST_RECORD_PERMISSION_SETTING)
+            requestPermissions(activity);
+    }
+
+    public void init(Activity activity) {
+        sdkInitState = SdkInitState.LOADING;
+
+    }
+
+    public void login() {
+        switch (sdkInitState) {
+            case FAILED:
+            case UNKNOWN: {
+                if (GameActivityProxy.I.activity == null)
+                    return;
+                if (hasPermissions(GameActivityProxy.I.activity)) {
+                    Toast.makeText(GameAppProxy.app, "寮傚父璇烽噸鍚父鎴�", Toast.LENGTH_LONG).show();
+                }
+                break;
+            }
+            case SUCCEED: {
+                GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+                {
+                    @Override
+                    public void run()
+                    {
+                        //鐢ㄦ埛鐧婚檰杩涘叆娓告垙鍜岀敤鎴风櫥鍑洪��鍑烘父鎴忕殑鍥炶皟
+                        SMPlatformManager.getInstance ().login (GameActivityProxy.I.activity, new SMLoginListener() {
+                            @Override
+                            public void onLoginSuccess(SMUserInfo loginInfo) {
+                                //瀹㈡埛绔櫥褰曟垚鍔熷悗锛屼細閫氳繃濡備笅鏂瑰紡寰楀埌token鍊硷紝娓告垙瀹㈡埛绔紶token缁欒嚜宸辨湇鍔″櫒
+                                LogUtil.e("SdkManager", "鐧诲綍鎴愬姛");
+                                try {
+                                    args.clear();
+                                    JSONObject info = new JSONObject();
+                                    info.put("token", loginInfo.getTokenkey());
+                                    args.put("info", info);
+                                    UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args);
+                                } catch (JSONException e) {
+                                    e.printStackTrace();
+                                    LogUtil.e("SdkManager 鐧诲綍鎴愬姛", e);
+                                }
+
+                            }
+
+                            @Override
+                            public void onLoginFailed(String reason) {
+                                LogUtil.e("SdkManager", "鐧诲綍澶辫触锛�");
+                                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
+                            }
+
+                            @Override
+                            public void onLoginCancell(String reason) {
+                                //鐧婚檰鍙栨秷
+                                LogUtil.e("SdkManager", "鐧诲綍澶辫触锛�");
+                                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail);
+                            }
+
+                            @Override
+                            public void onLogoutSuccess() {
+                                //鐧诲嚭鐨勫墠鎻愭槸锛氬凡缁忕櫥褰曟垚鍔熶簡
+                                UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk);
+                            }
+                        });
+                    }
+                });
+                break;
+            }
+            case LOADING: {
+                Toast.makeText(GameAppProxy.app, "姝e湪鍒濆鍖栦腑锛岃绋嶇瓑锛�", Toast.LENGTH_LONG).show();
+                break;
+            }
+        }
+    }
+
+    public void setGameRoleInfo(RoleInfo roleInfo) {
+        if (GameActivityProxy.I.activity == null)
+            return;
+
+        GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                SMPlatformManager.getInstance().smAfterChooseRoleSendInfo(GameActivityProxy.I.activity, roleInfo);
+            }
+        });
+    }
+
+
+    public void pay(PayInfo payInfo) {
+        if (GameActivityProxy.I.activity == null)
+            return;
+        GameActivityProxy.I.activity.runOnUiThread(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                SMPlatformManager.getInstance ().Pay (GameActivityProxy.I.activity, payInfo, new SMPayListener() {
+                    @Override
+                    public void onPaySuccess(Object obj) {
+                        //鏀粯鎴愬姛
+                        //sdkOrderID:quick璁㈠崟鍙� cpOrderID锛氭父鎴忚鍗曞彿
+                        UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk);
+                    }
+
+                    @Override
+                    public void onPayFailed(Object obj) {
+                        //鏀粯澶辫触
+                        UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayFail);
+                    }
+
+                    @Override
+                    public void onPayCancell(Object obj) {
+                        //鏀粯鍙栨秷
+                        UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayCancel);
+                    }
+                });
+            }
+        });
+    }
+
+
+
+    public void register(String productCode, String productKey) {
+        this.productCode = productCode;
+        this.productKey = productKey;
+        //绋嬪簭鐨勫叆鍙f墽琛屽垵濮嬪寲鎿嶄綔锛氫竴鑸斁鍦ㄦ父鎴忓叆鍙g殑activity閲岄潰鐢ㄤ富绾跨▼璋冪敤
+        SMPlatformManager.getInstance().init(GameActivityProxy.I.activity,
+                productCode, new SMInitListener() {
+                @Override
+                public void onSuccess() {
+                    sdkInitState = SdkInitState.SUCCEED;
+                    LogUtil.debug("SdkManager", "鍒濆鍖栨垚鍔�");
+                    UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk);
+                }
+
+                @Override
+                public void onFail(String reason) {
+                    //鍒濆鍖栧け璐�
+                    sdkInitState = SdkInitState.FAILED;
+                    LogUtil.e("SdkManager", "鍒濆鍖栧け璐� msg锛�" + reason);
+                    UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitFail);
+                }
+            });
+    }
+
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/SplashActivity.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/SplashActivity.java
new file mode 100644
index 0000000..22370e4
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/SplashActivity.java
@@ -0,0 +1,30 @@
+package com.secondworld.sdk;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.os.Handler;
+import android.support.v7.app.AppCompatActivity;
+
+
+public class SplashActivity extends AppCompatActivity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.x7_act_splash);
+        //淇鍒囨崲鍒板悗鍙板悗鐐瑰嚮鍥炬爣閲嶆柊鍚姩鐨勯棶棰�
+        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
+            finish();
+            return;
+        }
+
+        new Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                Intent intent = new Intent(SplashActivity.this, GameActivity.class);
+                startActivity(intent);
+                finish();
+            }
+        }, 2000);
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdCreateRole.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdCreateRole.java
new file mode 100644
index 0000000..60bd5f3
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdCreateRole.java
@@ -0,0 +1,30 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+import com.smwl.smsdk.bean.RoleInfo;
+
+import org.json.JSONObject;
+
+public class CmdCreateRole implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.CreateRole;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+
+        RoleInfo roleInfo = new RoleInfo();
+        roleInfo.setGame_area(json.getString("sid"));
+        roleInfo.setGame_area_id(json.getString("sid"));
+        roleInfo.setGame_guid(json.getString("game_guid"));
+        roleInfo.setGame_role_id(json.getString("roleID"));
+        roleInfo.setGame_role_name(json.getString("roleName").trim().replace(" ", ""));
+        roleInfo.setRoleLevel(json.getString("level"));
+        roleInfo.setRoleCE("-1");
+        roleInfo.setRoleStage("-1");
+        roleInfo.setRoleRechargeAmount("-1");
+        QuickSdkMgr.I.setGameRoleInfo(roleInfo);
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPayFinished.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPayFinished.java
new file mode 100644
index 0000000..5938411
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPayFinished.java
@@ -0,0 +1,16 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPayFinished implements  ICommand{
+    @Override
+    public int getCode() {
+        return CodeU2A.PayFinished;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogin.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogin.java
new file mode 100644
index 0000000..f133a40
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogin.java
@@ -0,0 +1,18 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+
+import org.json.JSONObject;
+
+public class CmdPlatformLogin implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformLogin;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        QuickSdkMgr.I.login();
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogout.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogout.java
new file mode 100644
index 0000000..50b87c3
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformLogout.java
@@ -0,0 +1,19 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+import com.smwl.smsdk.app.SMPlatformManager;
+
+import org.json.JSONObject;
+
+public class CmdPlatformLogout implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformLogout;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        SMPlatformManager.getInstance().smExitCurrent();
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformPay.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformPay.java
new file mode 100644
index 0000000..1d7e8cd
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdPlatformPay.java
@@ -0,0 +1,46 @@
+package com.secondworld.sdk.command;
+
+
+import android.widget.Toast;
+
+import com.secondworld.sdk.GameAppProxy;
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+import com.smwl.smsdk.bean.PayInfo;
+import org.json.JSONObject;
+import java.net.URLEncoder;
+
+public class CmdPlatformPay implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.PlatformPay;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+
+
+        JSONObject extraData = new JSONObject();
+        extraData.put("appid", GameAppProxy.appId);
+        extraData.put("cpinfo", json.getString("cpInfo"));
+        extraData.put("cporderid", json.getString("orderId"));
+
+        final PayInfo mPayInfo = new PayInfo ();
+        mPayInfo.setExtends_info_data (URLEncoder.encode(extraData.toString(), "utf-8").replace(" ",""));
+        mPayInfo.setGame_level (json.getString("level"));
+        mPayInfo.setGame_role_id (json.getString("roleID"));
+        mPayInfo.setGame_role_name (json.getString("roleName").trim().replace(" ", ""));
+        // 娴嬭瘯璐﹀彿锛歺7demo 瀵嗙爜锛�123456(閫夋嫨灏忓彿1杩涘叆娓告垙)
+        mPayInfo.setGame_area (json.getString("sid"));
+        // 娴嬭瘯璐﹀彿锛歺7demo 瀵嗙爜锛�123456(閫夋嫨灏忓彿1杩涘叆娓告垙) 灏忓彿鍚嶇О锛氬皬鍙�1  :瀵瑰簲鐨刧ame_guid锛�2018642
+        mPayInfo.setGame_guid (json.getString("game_guid"));
+        mPayInfo.setGame_orderid (json.getString("orderId"));
+        mPayInfo.setGame_price (String.format("%.2f", Float.parseFloat(json.getString("mount"))));
+        mPayInfo.setNotify_id (json.getString("notify_id"));
+        mPayInfo.setSubject (json.getString("title").replace(" ",""));
+        mPayInfo.setGame_sign (json.getString("game_sign"));
+
+        QuickSdkMgr.I.pay(mPayInfo);
+
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLevelUp.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
new file mode 100644
index 0000000..a03b3d8
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
@@ -0,0 +1,29 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+import com.smwl.smsdk.bean.RoleInfo;
+
+import org.json.JSONObject;
+
+public class CmdRoleLevelUp implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.RoleLevelUp;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        RoleInfo roleInfo = new RoleInfo();
+        roleInfo.setGame_area(json.getString("sid"));
+        roleInfo.setGame_area_id(json.getString("sid"));
+        roleInfo.setGame_guid(json.getString("game_guid"));
+        roleInfo.setGame_role_id(json.getString("roleID"));
+        roleInfo.setGame_role_name(json.getString("roleName").trim().replace(" ", ""));
+        roleInfo.setRoleLevel(json.getString("level"));
+        roleInfo.setRoleCE("-1");
+        roleInfo.setRoleStage("-1");
+        roleInfo.setRoleRechargeAmount("-1");
+        QuickSdkMgr.I.setGameRoleInfo(roleInfo);
+    }
+}
diff --git a/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLogin.java b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLogin.java
new file mode 100644
index 0000000..cc5fea6
--- /dev/null
+++ b/SdkProject/plugins/x7sm/java/com/secondworld/sdk/command/CmdRoleLogin.java
@@ -0,0 +1,29 @@
+package com.secondworld.sdk.command;
+
+import com.secondworld.sdk.QuickSdkMgr;
+import com.secondworld.sdk.utils.CodeU2A;
+import com.smwl.smsdk.bean.RoleInfo;
+
+import org.json.JSONObject;
+
+public class CmdRoleLogin implements ICommand {
+    @Override
+    public int getCode() {
+        return CodeU2A.RoleLogin;
+    }
+
+    @Override
+    public void process(JSONObject json) throws Exception {
+        RoleInfo roleInfo = new RoleInfo();
+        roleInfo.setGame_area(json.getString("sid"));
+        roleInfo.setGame_area_id(json.getString("sid"));
+        roleInfo.setGame_guid(json.getString("game_guid"));
+        roleInfo.setGame_role_id(json.getString("roleID"));
+        roleInfo.setGame_role_name(json.getString("roleName").trim().replace(" ", ""));
+        roleInfo.setRoleLevel(json.getString("level"));
+        roleInfo.setRoleCE("-1");
+        roleInfo.setRoleStage("-1");
+        roleInfo.setRoleRechargeAmount("-1");
+        QuickSdkMgr.I.setGameRoleInfo(roleInfo);
+    }
+}

--
Gitblit v1.8.0