| package com.secondworld.sdk; | 
|   | 
| import android.app.Activity; | 
| import android.widget.Toast; | 
|   | 
| import com.cy.yyjia.sdk.center.SdkManager; | 
| import com.cy.yyjia.sdk.listener.ChangePasswordListener; | 
| import com.cy.yyjia.sdk.listener.ExitGameListener; | 
| import com.cy.yyjia.sdk.listener.InitListener; | 
| import com.cy.yyjia.sdk.listener.LoginListener; | 
| import com.cy.yyjia.sdk.listener.LogoutListener; | 
| import com.cy.yyjia.sdk.listener.MarketListener; | 
| import com.cy.yyjia.sdk.listener.PayListener; | 
| import com.cy.yyjia.sdk.listener.ShareListener; | 
| import com.secondworld.sdk.utils.CallBackState; | 
| import com.secondworld.sdk.utils.CodeA2U; | 
| import com.secondworld.sdk.utils.LogUtil; | 
|   | 
| import org.json.JSONException; | 
| import org.json.JSONObject; | 
|   | 
| import java.util.HashMap; | 
| import java.util.Map; | 
|   | 
| public class MySdkMgr extends PlatformSdkMgr { | 
|   | 
|     public static MySdkMgr I = new MySdkMgr(); | 
|   | 
|     public void init(Activity activity) { | 
|         sdkInitState = SdkInitState.LOADING; | 
|         SdkManager.getInstance().init(activity); | 
|     } | 
|   | 
|     public void login() { | 
|         switch (sdkInitState) { | 
|             case FAILED: | 
|             case UNKNOWN: { | 
|                 if (GTGameMain.I.activity != null) | 
|                     init(GTGameMain.I.activity); | 
|                 Toast.makeText(GameApp.I, "正在初始化中,请稍等", Toast.LENGTH_LONG).show(); | 
|                 break; | 
|             } | 
|             case SUCCEED: { | 
|                 SdkManager.getInstance().login(); | 
|                 break; | 
|             } | 
|             case LOADING: { | 
|                 Toast.makeText(GameApp.I, "正在初始化中,请稍等", Toast.LENGTH_LONG).show(); | 
|                 break; | 
|             } | 
|         } | 
|     } | 
|   | 
|     public void setListener() { | 
|         args = new HashMap<>(); | 
|         // 初始化监听 | 
|         SdkManager.getInstance().setInitListener(new InitListener() { | 
|             @Override | 
|             public void onSuccess() { | 
|                 sdkInitState = SdkInitState.SUCCEED; | 
|                 LogUtil.debug("SdkManager", "初始化成功"); | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformInitOk); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|   | 
|             @Override | 
|             public void onError(String msg) { | 
|                 sdkInitState = SdkInitState.FAILED; | 
|                 LogUtil.e("SdkManager", "初始化失败:" + msg); | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformInitFail); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|         }); | 
|   | 
|         // 登录监听 | 
|         SdkManager.getInstance().setLoginListener(new LoginListener() { | 
|             @Override | 
|             public void onSuccess() { | 
|                 LogUtil.e("SdkManager", "登录成功"); | 
|                 try { | 
|                     args.clear(); | 
|                     JSONObject info = new JSONObject(); | 
|                     info.put("account", SdkManager.getInstance().getUid()); | 
|                     info.put("game_id", SdkManager.getInstance().getGameId()); | 
|                     info.put("session_id", SdkManager.getInstance().getSessionId()); | 
|   | 
|                     args.put("code", CodeA2U.PlatformLoginOk); | 
|                     args.put("info", info); | 
|                     UnityMsgHandler.sendMessageToUnity(args); | 
|                 } catch (JSONException e) { | 
|                     e.printStackTrace(); | 
|                     LogUtil.e("SdkManager 登录成功", e); | 
|                 } | 
|             } | 
|   | 
|             //注册成功 | 
|             @Override | 
|             public void onSuccess(Boolean isNewReg, String reg_type) { | 
|                 LogUtil.e("SdkManager", "注册成功" + " isNewReg:" + isNewReg + "  type:" + reg_type); | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformRegisterOk); | 
|                 args.put("reg_type", reg_type); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|   | 
|             @Override | 
|             public void onError(String s) { | 
|                 LogUtil.e("SdkManager", "登录失败:" + s); | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformLoginFail); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|   | 
|             @Override | 
|             public void onCancel() { | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformLoginFail); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|         }); | 
|   | 
|         //支付监听 | 
|         SdkManager.getInstance().setPayListener(new PayListener() { | 
|             @Override | 
|             public void onSuccess(String status, String orderId) { | 
|                 LogUtil.debug("SdkManager", "onSuccess status:" + status + ",orderId:" + orderId); | 
|             } | 
|   | 
|             @Override | 
|             public void onError() { | 
|                 LogUtil.e("SdkManager", "onError"); | 
|             } | 
|   | 
|             @Override | 
|             public void onCancel() { | 
|                 LogUtil.debug("SdkManager", "onCancel"); | 
|             } | 
|         }); | 
|   | 
|   | 
|         // 账号注销监听 | 
|         SdkManager.getInstance().setLogoutListener(new LogoutListener() { | 
|   | 
|             @Override | 
|             public void onSuccess() { | 
|                 //注销成功,需要把游戏切换回登陆前的场景,并重新弹出登录框等操作 | 
|                 args.clear(); | 
|                 args.put("code", CodeA2U.PlatformLogoutOk); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|             } | 
|   | 
|             @Override | 
|             public void onError() { | 
|             } | 
|   | 
|             @Override | 
|             public void onCancel() { | 
|             } | 
|         }); | 
|   | 
|         //游戏退出监听 | 
|         SdkManager.getInstance().setExitGameListener(new ExitGameListener() { | 
|             @Override | 
|             public void onCancel() { | 
|                 LogUtil.debug("游戏退出监听", "onCancel"); | 
|             } | 
|   | 
|             @Override | 
|             public void onSuccess() { | 
|                 LogUtil.debug("游戏退出监听", "onSuccess"); | 
|             } | 
|         }); | 
|   | 
|         //修改密码监听 | 
|         SdkManager.getInstance().setChangePasswordListener(new ChangePasswordListener() { | 
|             @Override | 
|             public void onError() { | 
|             } | 
|   | 
|             @Override | 
|             public void onSuccess() { | 
|             } | 
|         }); | 
|   | 
|         //分享回调 | 
|         SdkManager.getInstance().setShareListener(new ShareListener() { | 
|             @Override | 
|             public void onSuccess(String type) { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ShareState); | 
|                 args.put("state", CallBackState.Success); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("分享回调", "onSuccess:" + type); | 
|             } | 
|   | 
|             @Override | 
|             public void onError(String type, String msg) { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ShareState); | 
|                 args.put("state", CallBackState.Error); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("分享回调", "type:" + type + ";msg:" + msg); | 
|             } | 
|   | 
|             @Override | 
|             public void onCancel(String type) { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ShareState); | 
|                 args.put("state", CallBackState.Cancel); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("分享回调", type + ":onCancel"); | 
|             } | 
|         }); | 
|   | 
|         //评分回调 | 
|         SdkManager.getInstance().setMarketListener(new MarketListener() { | 
|             @Override | 
|             public void onSuccess() { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ReviewState); | 
|                 args.put("state", CallBackState.Success); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("评分回调", "成功"); | 
|             } | 
|   | 
|             @Override | 
|             public void onError(String s) { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ReviewState); | 
|                 args.put("state", CallBackState.Error); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("评分回调", "失败:" + s); | 
|             } | 
|   | 
|             @Override | 
|             public void onCancel() { | 
|                 Map<String, Object> args = new HashMap<>(); | 
|                 args.put("code", CodeA2U.ReviewState); | 
|                 args.put("state", CallBackState.Cancel); | 
|                 UnityMsgHandler.sendMessageToUnity(args); | 
|                 LogUtil.debug("评分回调", "取消"); | 
|             } | 
|         }); | 
|   | 
|         //设置dubug模式 | 
|         SdkManager.getInstance().setDebug(BuildConfig.DEBUG); | 
|     } | 
|   | 
| } |