| 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<String, Object> 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() | 
|     { | 
|     } | 
| } |