Пример #1
0
    public static void showError(Api.ServerErrors serverErrorType, GameScene fromScene = GameScene.UNDEF)
    {
        switch (serverErrorType)
        {
        case Api.ServerErrors.E_VERSION_ERROR: showError(TypeError.ES_NEED_UPDATE, fromScene); break;

        case Api.ServerErrors.E_SESSION_EXPIRED: showError(TypeError.ES_SESSION_EXPIRED, fromScene); break;

        case Api.ServerErrors.E_REQUEST_PARAMS: show("Ошибка покупки", () => { WindowController.rebildCurrentWindow(); }); break;

        case Api.ServerErrors.E_DRAWING_END: ScenesController.loadScene(GameScene.MAIN_MENU); break;

        case Api.ServerErrors.E_NOT_ENOUGH: {
            var errWnd = show("Недостаточно средств для совершения операции.\nПопробуйте ещё.");
            errWnd.setAction(0, () => {
                    WindowController.rebildCurrentWindow();
                    AccountEvent.requestAccountInformation();
                    if (fromScene == GameScene.RAFFLE)
                    {
                        ScenesController.loadScene(GameScene.MAIN_MENU);
                    }
                });
        } break;

        case Api.ServerErrors.E_SESSION: { showErrorAndReAutification("Ошибка сессии"); } break;

        case Api.ServerErrors.E_SESSION_ID: { showErrorAndReAutification("Ошибка сессии"); } break;

        case Api.ServerErrors.E_DB_ERROR: showServerError("Ошибка сервера", fromScene); break;

        case Api.ServerErrors.E_TEMP_ERROR: showServerError("Временная ошибка сервера", fromScene); break;

        case Api.ServerErrors.E_PENDING: showServerError("ошибка сервера", fromScene); break;

        default: {
            if (fromScene != GameScene.AUTORIZATION)
            {
                var errWnd = show("Неизвестная ошибка");
                errWnd.setAction(0, () => { ScenesController.loadScene(GameScene.AUTORIZATION); });
            }
            else
            {
                var errWnd = show("Приложение не рабочее", "выход");
                errWnd.setAction(0, () => { MAIN.exit(); });
            }
        }  break;
        }
    }
Пример #2
0
    // -----------------------------------------

    public static void showError(TypeError typeError, GameScene fromScene = GameScene.UNDEF)
    {
        //currentTypeError = typeError;
        switch (typeError)
        {
        case TypeError.ES_NEED_UPDATE: {
            //Ваша версия устарела, нужно обновится до последней версии
            var wnd = showError("Ваша версия не совместима, обновитесь до последней версии", typeError, "Выход");
            //wnd.setAction(0, () => { /* ЗДЕСЬ НУЖНО ОБНОВИТЬСЯ */ wnd.hideWindow(); });
            //wnd.setAction(1, exit);
            wnd.setAction(0, () => { MAIN.exit(); });
        } break;

        case TypeError.ES_SERVER_ERROR: { showErrorAndReAutification("Ошибка сервера", fromScene); }  break;

        case TypeError.ES_SESSION_EXPIRED: { showErrorAndReAutification("Время сессии истекло войдите заново", fromScene); }  break;

        case TypeError.ES_CONNECT_ERROR: { showConnectError("Ошибка связи", fromScene); } break;

        case TypeError.EP_ON_INITIALIZE_FAILED: buyError(); break;

        case TypeError.EP_ON_BUY_NOT_FIND: buyError(); break;

        case TypeError.EP_ON_FAILED_CONFIRM_PURCHASE: buyError("Ошибка покупки, обратитесь в техническую поддержку"); break;

        case TypeError.EC_NOT_ENOUGH_MONEY: {
            var wnd = show("Недостаточно денег!");
            wnd.setAction(0, () => {
                    if (!Tutorial.show(TutorialSubject.TS_BUY_GOLD_BTN))
                    {
                        WindowController.showPopUpWindow(WindowController.TypePopUpWindow.GOLD_EXCHANGE);
                        Tutorial.show();     // В этом месте обрывается обучения, для избежании этого вызвается команда показать без параметров, в ней внутри перепроверяется наличие списка сообщений которые нужно показать, и если список не пустой обучение продолжается
                    }
                });
        } break;

        case TypeError.EC_NOT_ENOUGH_RUBINS: {
            //WindowController.showPopUpWindow(WindowController.TypePopUpWindow.CRYSTALS_BUY);
            var wnd = show("Недостаточно рубинов!");
            wnd.setAction(0, () => {
                    WindowController.showPopUpWindow(WindowController.TypePopUpWindow.CRYSTALS_BUY);
                    Tutorial.show();     // В этом месте обрывается обучения, для избежании этого вызвается команда показать без параметров, в ней внутри перепроверяется наличие списка сообщений которые нужно показать, и если список не пустой обучение продолжается
                });
        } break;

        default: { show("Неизвестная ошибка"); } break;
        }
    }
Пример #3
0
    public static void restartAuth() // █ перезапуск аунтификации
    {
        Autorization auth = null;
        var          go   = GameObject.Find("Autorization");

        if (go != null)
        {
            auth = go.GetComponent <Autorization>();
            if (auth != null)
            {
                auth.resetParam();
                auth.Start();
                return;
            }
        }
        MAIN.exit();
    }
Пример #4
0
    public static void showServerError(string textError = "Ошибка сервера", GameScene fromScene = GameScene.UNDEF)
    {
        if (fromScene == GameScene.AUTORIZATION)
        {
            var errorW = show(textError, "Повтор", "Выход");
            errorW.setAction(0, () => { Autorization.restartAuth(); });
            errorW.setAction(1, () => { MAIN.exit(); });
            return;
        }
        var errorWnd = show("Ошибка сервера");

        errorWnd.setAction(0, () => {
            switch (fromScene)
            {
            case GameScene.BUY_TICKETS: ScenesController.loadScene(GameScene.MAIN_MENU); break;

            case GameScene.RAFFLE: ScenesController.loadScene(GameScene.BUY_TICKETS); break;
            }
        });
    }
Пример #5
0
    // пперед выходом из игры диалоговое окно
    public static void showWindowExit()
    {
        var wnd = Errors.show("Вы действительно хотите выйти из игры?", "Да", "Нет");

        wnd.setAction(0, () => { MAIN.exit(); });
    }