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.PayListener; import com.secondworld.sdk.utils.CodeA2U; import com.secondworld.sdk.utils.LogUtil; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; 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 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() { } }); //设置dubug模式 SdkManager.getInstance().setDebug(BuildConfig.DEBUG); } }