package com.secondworld.univeralsdk; import android.app.Activity; import com.yyjia.sdk.center.GMcenter; import com.yyjia.sdk.data.Information; import com.yyjia.sdk.listener.ExitGameListener; import com.yyjia.sdk.listener.InitListener; import com.yyjia.sdk.listener.LoginListener; import com.yyjia.sdk.listener.PayListener; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; /** * Created by Administrator on 2018/9/3 0003. */ public class SDPlatformUtil { private static final String TAG = "SDPlatformUtil"; private boolean m_Init = false; private static SDPlatformUtil s_Instance; public static SDPlatformUtil getInstance() { if (s_Instance == null) { s_Instance = new SDPlatformUtil(); } return s_Instance; } public boolean payProcessing = false; private Map m_Message = new HashMap<>(); public void init(final Activity activity) { if (m_Init) { return; } GMcenter.getInstance(activity).setInitListener(new InitListener() { @Override public void onSuccess(int i) { m_Init = true; m_Message.put("code", CodeA2U.FreePlatformInitOk); UniversalUtil.sendMessageToUnity(m_Message); } @Override public void onFailure(int i, String s) { //初始化失败 msg 错误信息 m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformInitFail); UniversalUtil.sendMessageToUnity(m_Message); } }); GMcenter.getInstance(activity).setLoginListener(new LoginListener() { @Override public void loginSuccessed(String s) { if (s == Information.LOGIN_SUSECCEDS) { //登录成功 uuid:用户id,msg:校验id try { m_Message.clear(); JSONObject _info = new JSONObject(); _info.put("account", GMcenter.getInstance(activity).getUid()); _info.put("token", GMcenter.getInstance(activity).getSid()); _info.put("account_id", GMcenter.getInstance(activity).getUid()); m_Message.put("code", CodeA2U.FreePlatformLoginOk); m_Message.put("info", _info); UniversalUtil.sendMessageToUnity(m_Message); } catch (JSONException e) { e.printStackTrace(); } } else { LogUtil.e(TAG, "登录失败 " + s); m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformLoginFail); UniversalUtil.sendMessageToUnity(m_Message); } } @Override public void logoutSuccessed(String s) { if (s == Information.LOGOUT_SUSECCED) { m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformLogoutOk); UniversalUtil.sendMessageToUnity(m_Message); } else { m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformLogoutFail); UniversalUtil.sendMessageToUnity(m_Message); } } @Override public void logcancelSuccessed(String s) { if (s == Information.LOGCANCEL_SUSECCED) { LogUtil.e(TAG, "登陆取消成功 " + s); m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformLoginFail); UniversalUtil.sendMessageToUnity(m_Message); } } }); GMcenter.getInstance(activity).setExitGameListener(new ExitGameListener() { @Override public void onSuccess() { LogUtil.i(TAG, "退出游戏成功..."); } @Override public void onFailure() { LogUtil.i(TAG, "退出游戏失败..."); } @Override public void onCancel() { LogUtil.i(TAG, "退出游戏取消..."); } }); } public void login(Activity activity) { GMcenter.getInstance(activity).checkLogin(); } public void logout(final Activity activity) { GMcenter.getInstance(activity).logout(); } public void pay(final Activity activity, String orderID, float amount, String title, String extraData, String roleId, String sid) { GMcenter.getInstance(activity).pay(activity, amount, title, sid, roleId, orderID, extraData, new PayListener() { @Override public void paySuccessed(String code, String cporderid) { if (code == Information.PAY_SUSECCED) { m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformPayOk); UniversalUtil.sendMessageToUnity(m_Message); payProcessing = false; } else { //code:支付失败错误码,msg:支付失败错误信息 m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformPayFail); UniversalUtil.sendMessageToUnity(m_Message); payProcessing = false; } } @Override public void payGoBack() { m_Message.clear(); m_Message.put("code", CodeA2U.FreePlatformPayCancel); UniversalUtil.sendMessageToUnity(m_Message); payProcessing = false; } }); } public void enterWorld(final Activity activity, String roleID, String roleName, String sid, String serverName, String roleLevel) { GMcenter.getInstance(activity).submitRoleInfo(sid, serverName, roleID, roleName, roleLevel,""); } public void createRole(final Activity activity, String roleID, String roleName, String sid, String serverName, String roleLevel, String createTime) { GMcenter.getInstance(activity).submitRoleInfo(sid, serverName, roleID, roleName, roleLevel,createTime); } public void levelUp(final Activity activity, String roleID, String roleName, String sid, String serverName, String roleLevel) { GMcenter.getInstance(activity).submitRoleInfo(sid, serverName, roleID, roleName, roleLevel,""); } public void SendRegisterEvent() { } }