public override void ShowWebView(string url, GamebaseRequest.Webview.GamebaseWebViewConfiguration configuration = null, int closeCallbackHandle = -1, List <string> schemeList = null, int schemeEventHandle = -1) { GamebaseCallback.ErrorDelegate closeCallback = null; if (-1 != closeCallbackHandle) { closeCallback = GamebaseCallbackHandler.GetCallback <GamebaseCallback.ErrorDelegate>(closeCallbackHandle); GamebaseCallbackHandler.UnregisterCallback(closeCallbackHandle); } GamebaseCallback.GamebaseDelegate <string> schemeEvent = null; if (-1 != schemeEventHandle) { schemeEvent = GamebaseCallbackHandler.GetCallback <GamebaseCallback.GamebaseDelegate <string> >(schemeEventHandle); GamebaseCallbackHandler.UnregisterCallback(schemeEventHandle); } bool hasAdapter = WebviewAdapterManager.Instance.CreateWebviewAdapter("standalonewebviewadapter"); if (false == hasAdapter) { GamebaseLog.Warn(GamebaseStrings.WEBVIEW_ADAPTER_NOT_FOUND, this); if (null != closeCallback) { closeCallback(new GamebaseError(GamebaseErrorCode.WEBVIEW_UNKNOWN_ERROR, message: GamebaseStrings.WEBVIEW_ADAPTER_NOT_FOUND)); } return; } WebviewAdapterManager.Instance.ShowWebView(url, configuration, closeCallback, schemeList, schemeEvent); }
public IEnumerator Connect(GamebaseCallback.ErrorDelegate callback) { CreateSocket(); float waitTime = 0; while (false == IsConnected() && null == GetErrorMessage() && waitTime < CommunicatorConfiguration.connectionTimeout) { waitTime += Time.unscaledDeltaTime; yield return(null); } GamebaseError error = null; if (false == string.IsNullOrEmpty(GetErrorMessage())) { error = new GamebaseError(GamebaseErrorCode.SOCKET_ERROR, message: GetErrorMessage()); } else { if (waitTime >= CommunicatorConfiguration.connectionTimeout) { error = new GamebaseError(GamebaseErrorCode.SOCKET_ERROR); } else { GamebaseLog.Debug("socket connected.", this, "Connect"); } } StartRecvPolling(); callback(error); }
public static void FireNotSupportedAPI(object classObj, string methodName, GamebaseCallback.ErrorDelegate callback) { if (callback == null) { return; } GamebaseLog.Warn(string.Format("{0}", CreateNotSupportedMessage()), classObj, methodName); string message = string.Format("{0} - {1}.", methodName, CreateNotSupportedMessage()); callback(CreateNotSupportedError(classObj.GetType().Name, message)); }
public static void FireNotSupportedAPI(object classObj, GamebaseCallback.ErrorDelegate callback, [System.Runtime.CompilerServices.CallerMemberName] string methodName = "") { if (callback == null) { return; } GamebaseLog.Warn(string.Format("{0}", CreateNotSupportedMessage()), classObj, methodName); string message = string.Format("{0} - {1}.", methodName, CreateNotSupportedMessage()); callback(CreateNotSupportedError(classObj.GetType().Name, message)); }
public IEnumerator Reconnect(GamebaseCallback.ErrorDelegate callback) { GamebaseLog.Debug(string.Format("SocketState:{0}", SocketState(nativeRef)), this); if (DEFAULT_NATIVE_REF != nativeRef) { if ((int)WebSocketState.Open == SocketState(nativeRef)) { callback(null); yield break; } } Close(); yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, Connect(callback))); }
public IEnumerator Reconnect(GamebaseCallback.ErrorDelegate callback) { GamebaseLog.Debug(string.Format("SocketState:{0}", SocketState(nativeRef)), this, "Reconnect"); if (DEFAULT_NATIVE_REF != nativeRef) { if ((int)WebSocketState.Open == SocketState(nativeRef)) { callback(null); yield break; } } Close(); yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(Connect(callback))); }
public IEnumerator Send(string jsonString, GamebaseCallback.ErrorDelegate callback) { if (false == IsConnected()) { yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(Reconnect((error) => { callback(error); if (null == error) { SocketSend(nativeRef, jsonString); } }))); } else { SocketSend(nativeRef, jsonString); } }
public IEnumerator Send(string jsonString, GamebaseCallback.ErrorDelegate callback) { if (false == IsConnected()) { yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, Reconnect((error) => { callback(error); if (null == error) { socket.Send(jsonString); } }))); } else { socket.Send(jsonString); } }
public IEnumerator Reconnect(GamebaseCallback.ErrorDelegate callback) { if (null == socket) { yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, Connect(callback))); yield break; } GamebaseLog.Debug(string.Format("socket.ReadyState:{0}", socket.ReadyState), this); if (WebSocketState.Open == socket.ReadyState) { callback(null); yield break; } Close(); yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, Connect(callback))); }
public IEnumerator Reconnect(GamebaseCallback.ErrorDelegate callback) { if (null == socket) { yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(Connect(callback))); yield break; } GamebaseLog.Debug(string.Format("socket.ReadyState:{0}", socket.ReadyState), this, "Reconnect"); if (WebSocketState.Open == socket.ReadyState) { callback(null); yield break; } Close(); yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(Connect(callback))); }
public void Logout(int handle) { GamebaseCallback.ErrorDelegate logoutCallback = (error) => { if (Gamebase.IsSuccess(error) == true) { GamebaseIndicatorReport.SendIndicatorData( GamebaseIndicatorReportType.LogType.AUTH, GamebaseIndicatorReportType.StabilityCode.GB_AUTH_LOGOUT_SUCCESS, GamebaseIndicatorReportType.LogLevel.INFO, new Dictionary <string, string>() { { GamebaseIndicatorReportType.AdditionalKey.GB_SUB_CATEGORY1, GamebaseIndicatorReportType.SubCategory.LOGOUT } }); } else { GamebaseIndicatorReport.SendIndicatorData( GamebaseIndicatorReportType.LogType.AUTH, GamebaseIndicatorReportType.StabilityCode.GB_AUTH_LOGOUT_FAILED, GamebaseIndicatorReportType.LogLevel.ERROR, new Dictionary <string, string>() { { GamebaseIndicatorReportType.AdditionalKey.GB_SUB_CATEGORY1, GamebaseIndicatorReportType.SubCategory.LOGOUT } }, error); } var callback = GamebaseCallbackHandler.GetCallback <GamebaseCallback.ErrorDelegate>(handle); if (callback != null) { callback(null); } GamebaseCallbackHandler.UnregisterCallback(handle); }; int logoutHandle = GamebaseCallbackHandler.RegisterCallback(logoutCallback); if (CanLogout(logoutHandle) == false) { return; } var requestVO = AuthMessage.GetLogoutMessage(); WebSocket.Instance.Request(requestVO, (response, error) => { GamebaseAnalytics.Instance.IdPCode = string.Empty; GamebaseSystemPopup.Instance.ShowErrorPopup(error); var callback = GamebaseCallbackHandler.GetCallback <GamebaseCallback.ErrorDelegate>(logoutHandle); if (callback == null) { return; } GamebaseCallbackHandler.UnregisterCallback(logoutHandle); RemoveLoginData(); callback(error); }); }
public void RegisterPush(GamebaseRequest.Push.PushConfiguration pushConfiguration, GamebaseCallback.ErrorDelegate callback) { int handle = GamebaseCallbackHandler.RegisterCallback(callback); push.RegisterPush(pushConfiguration, handle); }
public void Withdraw(GamebaseCallback.ErrorDelegate callback) { int handle = GamebaseCallbackHandler.RegisterCallback(callback); auth.Withdraw(handle); }
public void ShowWebView(string url, GamebaseRequest.Webview.GamebaseWebViewConfiguration configuration = null, GamebaseCallback.ErrorDelegate closeCallback = null, List <string> schemeList = null, GamebaseCallback.GamebaseDelegate <string> schemeEvent = null) { int closeCallbackHandle = -1; int schemeEventHandle = -1; if (null != closeCallback) { closeCallbackHandle = GamebaseCallbackHandler.RegisterCallback(closeCallback); } if (null != schemeEvent) { schemeEventHandle = GamebaseCallbackHandler.RegisterCallback(schemeEvent); } webview.ShowWebView(url, configuration, closeCallbackHandle, schemeList, schemeEventHandle); }
public void ShowWebView(string url, GamebaseRequest.Webview.GamebaseWebViewConfiguration configuration = null, GamebaseCallback.ErrorDelegate closeCallback = null, List <string> schemeList = null, GamebaseCallback.GamebaseDelegate <string> schemeEvent = null) { if (adapter == null) { if (null != closeCallback) { closeCallback(new GamebaseError(GamebaseErrorCode.WEBVIEW_UNKNOWN_ERROR, message: GamebaseStrings.WEBVIEW_ADAPTER_NOT_FOUND)); } return; } adapter.ShowWebView(url, configuration, closeCallback, schemeList, schemeEvent); }
public void RemoveMapping(string providerName, GamebaseCallback.ErrorDelegate callback) { int handle = GamebaseCallbackHandler.RegisterCallback(callback); auth.RemoveMapping(providerName, handle); }
public void Logout(GamebaseCallback.ErrorDelegate callback) { int handle = GamebaseCallbackHandler.RegisterCallback(callback); auth.Logout(handle); }
public IEnumerator Connect(GamebaseCallback.ErrorDelegate callback) { yield return(GamebaseCoroutineManager.StartCoroutine(GamebaseGameObjectManager.GameObjectType.WEBSOCKET_TYPE, socket.Connect(callback))); }
public void OpenContact(GamebaseCallback.ErrorDelegate callback) { int handle = GamebaseCallbackHandler.RegisterCallback(callback); contact.OpenContact(handle); }
public IEnumerator Connect(GamebaseCallback.ErrorDelegate callback) { yield return(GamebaseUnitySDKSettings.Instance.StartCoroutine(socket.Connect(callback))); }
public void Withdraw(int handle) { GamebaseCallback.ErrorDelegate withdrawCallback = (error) => { if (Gamebase.IsSuccess(error) == true) { GamebaseIndicatorReport.SendIndicatorData( GamebaseIndicatorReportType.LogType.AUTH, GamebaseIndicatorReportType.StabilityCode.GB_AUTH_WITHDRAW_SUCCESS, GamebaseIndicatorReportType.LogLevel.INFO, new Dictionary <string, string>() { { GamebaseIndicatorReportType.AdditionalKey.GB_SUB_CATEGORY1, GamebaseIndicatorReportType.SubCategory.WITHDRAW } }); } else { GamebaseIndicatorReport.SendIndicatorData( GamebaseIndicatorReportType.LogType.AUTH, GamebaseIndicatorReportType.StabilityCode.GB_AUTH_WITHDRAW_FAILED, GamebaseIndicatorReportType.LogLevel.ERROR, new Dictionary <string, string>() { { GamebaseIndicatorReportType.AdditionalKey.GB_SUB_CATEGORY1, GamebaseIndicatorReportType.SubCategory.WITHDRAW } }, error); } var callback = GamebaseCallbackHandler.GetCallback <GamebaseCallback.ErrorDelegate>(handle); if (callback != null) { callback(error); } GamebaseCallbackHandler.UnregisterCallback(handle); }; int withdrawHandle = GamebaseCallbackHandler.RegisterCallback(withdrawCallback); if (CanLogout(withdrawHandle) == false) { return; } var requestVO = AuthMessage.GetWithdrawMessage(); WebSocket.Instance.Request(requestVO, (response, error) => { GamebaseAnalytics.Instance.IdPCode = string.Empty; var callback = GamebaseCallbackHandler.GetCallback <GamebaseCallback.ErrorDelegate>(withdrawHandle); if (callback == null) { return; } GamebaseCallbackHandler.UnregisterCallback(withdrawHandle); if (error == null) { var vo = JsonMapper.ToObject <AuthResponse.WithdrawInfo>(response); if (vo.header.isSuccessful == true) { RemoveLoginData(); } else { if (GamebaseServerErrorCode.MEMBER_ALREADY_WITHDRAWN == vo.header.resultCode) { RemoveLoginData(); } else { error = GamebaseErrorUtil.CreateGamebaseErrorByServerErrorCode(requestVO.transactionId, requestVO.apiId, vo.header, Domain); GamebaseSystemPopup.Instance.ShowErrorPopup(error); } } } else { GamebaseSystemPopup.Instance.ShowErrorPopup(error); } callback(error); }); }