Exemple #1
0
    void Error(Api.ErrorType type, string message)
    {
        Debug.Log("Error: " + type + ", msg: " + message);
        var errWnd = Errors.show(Errors.connectErrorText, "Повтор");

        errWnd.setAction(0, () => { TemplatesEvent.upateTemplates(1, 0); });
        //Errors.showError(Errors.TypeError.ES_CONNECT_ERROR, GameScene.MAIN_MENU);
        //main.jsonHandler.loadServerTempaltesFromFile();
    }
Exemple #2
0
    // █ здесь прописаны инструкции выполняемые при покидании, сцен, модулей.
    void _loadScene(GameScene nextGameScene)
    {
        if (nextGameScene == currentScene)
        {
            return;
        }
        switch (nextGameScene)
        {
        case GameScene.START_LOGO: { } break;

        case GameScene.GAME_LOADING: { } break;

        case GameScene.AUTORIZATION: {
            if (autorization == null)
            {
                autorization = setGameModule(autorizationPrefab);
            }
            else
            {
                autorization.SetActive(true);
                if (hud != null)
                {
                    hud.SetActive(false);
                }
                Autorization.restartAuth();
            }
        } break;

        case GameScene.MAIN_MENU: {
            hud      = setGameModule(hudPrefab);
            mainMenu = setGameModule(mainMenuPrefab);
        } break;

        case GameScene.BUY_TICKETS: {
            if (Rooms.get.serverTemplates == null /*|| !Rooms.get.isCurrentRoomIsInit*/) // ███ TODO при добавлении новых комнат, нужно поменять эту проверку
            {
                TemplatesEvent.upateTemplates(1, 0);                                     //
                return;
            }
            else
            {
                buyTickets = setGameModule(buyTicketsPrefab);
                HUD.setEnableBackButton(true);
                Tutorial.show(TutorialSubject.TS_CHOOSE_COUNT_TICKETS, TutorialSubject.TS_BUY_TICKETS);
            }
        } break;

        case GameScene.RAFFLE: {
            setGameModule(buyTicketsPrefab, false);
            if (raffle == null)
            {
                raffle = setGameModule(rafflePrefab);
            }
            else
            {
                raffle.SetActive(true);
                main.raffle.reStart();
            }
            HUD.setEnableBackButton(false);
            HUD.hideTop();
            HUD.hideBuyRubins();
            HUD.getHUD.calculateScales();
        } break;
        }
        bool res1 = (backGroundGroups[currentScene] == BackGroundGroup.GAME);
        bool res2 = (backGroundGroups[nextGameScene] == BackGroundGroup.GAME);

        if (res1 && res2)
        {
            if (loadCurrentBackGroundOnPlayShift())
            {
                startPlayBackGroundMoveTo(nextGameScene);
            }
        }
        for (int i = 0; i < onLoadSceneCallBacks.Count; i++)
        {
            if (onLoadSceneCallBacks[i] != null)
            {
                onLoadSceneCallBacks[i](nextGameScene);
            }
            else
            {
                onLoadSceneCallBacks.Remove(onLoadSceneCallBacks[i]);
            }
        }
        onLeaveCurrentScene();
        currentScene = nextGameScene;
        currentGroup = backGroundGroups[currentScene];
    }