private void Regulator_OnError(object data)
        {
            var errorTitle = GameFacade.Strings.GetString("211", "45");
            var errorBody  = GameFacade.Strings.GetString("211", "45");

            if (data is NhoodResponse)
            {
                var response = data as NhoodResponse;
                if (response.Code == NhoodResponseCode.NHOOD_GAMEPLAY_BAN)
                {
                    //print message and end date
                    errorTitle = GameFacade.Strings.GetString("f117", "1");
                    errorBody  = GameFacade.Strings.GetString("f117", ((int)response.Code + 1).ToString(),
                                                              new string[] {
                        ClientEpoch.DHMRemaining(response.BanEndDate),
                        response.Message
                    });
                }
                else if (response.Code == NhoodResponseCode.UNKNOWN_ERROR)
                {
                    errorTitle = GameFacade.Strings.GetString("f117", "1");
                    errorBody  = GameFacade.Strings.GetString("f117", "23");
                    if (response.Message != "")
                    {
                        errorBody += "\n\n" + response.Message;
                    }
                }
                else
                {
                    errorTitle = GameFacade.Strings.GetString("f117", "1");
                    errorBody  = GameFacade.Strings.GetString("f117", ((int)response.Code + 1).ToString());
                }
                LastMessage = response.Message;
                ResolveCallbacks(response.Code);
            }
            else
            {
                ResolveCallbacks(NhoodResponseCode.UNKNOWN_ERROR);
            }

            UIAlert alert = null;

            alert = UIScreen.GlobalShowAlert(new UIAlertOptions()
            {
                Title   = errorTitle,
                Message = errorBody,
                Buttons = UIAlertButton.Ok(x => {
                    UIScreen.RemoveDialog(BlockingDialog);
                    UIScreen.RemoveDialog(alert);
                }),
                AllowEmojis = true
            }, true);
        }
        private void Regulator_OnError(object data)
        {
            var errorTitle = GameFacade.Strings.GetString("211", "45");
            var errorBody  = GameFacade.Strings.GetString("211", "45");

            if (data is BulletinResponse)
            {
                var response = data as BulletinResponse;
                if (response.Type == BulletinResponseType.SEND_FAIL_GAMEPLAY_BAN)
                {
                    //print message and end date
                    errorTitle = GameFacade.Strings.GetString("f117", "1");
                    errorBody  = GameFacade.Strings.GetString("f117", "18",
                                                              new string[] {
                        ClientEpoch.DHMRemaining(response.BanEndDate),
                        response.Message
                    });
                }
                else if (response.Type == BulletinResponseType.FAIL_UNKNOWN)
                {
                    errorTitle = GameFacade.Strings.GetString("f121", "1");
                    errorBody  = GameFacade.Strings.GetString("f121", "2");
                    if (response.Message != "")
                    {
                        errorBody += "\n\n" + response.Message;
                    }
                }
                else
                {
                    errorTitle = GameFacade.Strings.GetString("f121", "1");
                    errorBody  = GameFacade.Strings.GetString("f121", ((int)response.Type + 1).ToString(), new string[] { "3", "1" });
                }
                ResolveCallbacks(response.Type);
            }
            else
            {
                ResolveCallbacks(BulletinResponseType.FAIL_UNKNOWN);
            }

            UIAlert alert = null;

            alert = UIScreen.GlobalShowAlert(new UIAlertOptions()
            {
                Title   = errorTitle,
                Message = errorBody,
                Buttons = UIAlertButton.Ok(x => {
                    UIScreen.RemoveDialog(BlockingDialog);
                    UIScreen.RemoveDialog(alert);
                }),
                AllowEmojis = true
            }, true);
        }