Пример #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");
    }
Пример #2
0
 //=============================================
 //проверка успешного окончания уровня
 public void check_level_up()
 {
     if ((1000 + 100 * scoresController.user.level) <= scoresController.scoreLevel)
     {
         figura.delete_Figura();
         gameState = GameState.AnimLevelUp;
         scoresController.AddGraphicsItem(new Vector2Int(5, 5), "Новый Уровень", ScoreType.LevelUp);
         gameArea.StartAnimationClear("LevelUp");
         //EventManager.TriggerEvent("");
     }
 }