Ejemplo n.º 1
0
    //размещение фигуры в области сборки
    public void put_figura(Vector2Int m, FiguraCarcas fd, List <OneSquare> figuraSquares)
    {
        SoundManager.PlaySound("figura_landed");
        for (int i = 0; i < fd.numPoints; i++)
        {
            int x = m.x + fd.coords[i, 0];
            int y = m.y + fd.coords[i, 1];
            if (y >= GameConstants.AREA_REAL_HEIGHT)
            {
                continue;
            }
            SetSquare(x, y, figuraSquares[i].type);
        }
        int figure_score = (int)UnityEngine.Random.Range(5, 20);

        scoresController.AddScoreLevel(figure_score);
        scoresController.AddGraphicsItem(m, figure_score.ToString(), ScoreType.FigurePut);

        //проверка на заполненные линии
        check_filled_lines();

        //проверка на финиш (заполнение 0 линии),
        if (is_CapacityFull())
        {
            //область переполнена, запуск анимации удаления камней, а затем рестарт уровня
            EventManager.TriggerEvent("Anim_Overfill_area");
        }
        //EventManager.TriggerEvent("CanStartNewFigura");
    }
Ejemplo n.º 2
0
 //=============================================
 //инициализация нового уровня
 void event_InitLevel()
 {
     SoundManager.PlayMusicRandom();
     //SoundManager.PlayMusic("music_background2");
     GamePause();
     scoresController.Init();
     myUtils.console_log("event InitLevel " + scoresController.user.level);
     gameState = GameState.NotPlay;
     //очков за текущий уровень
     scoresController.AddScoreLevel(0, true);
     //init GameArea
     gameArea.Init_New_Level(scoresController.user.level);
     figuresQueueList.Fill_Figures_Queue();
     //FiguraController.GetQueueFigura();
     //gameState = GameState.Play;
     GameContinue();
     EventManager.TriggerEvent("NewFigura");
 }