Skip to main content

menu

Тип: список

Определяет элементы кастомизации главного меню.

Доступные параметры:

  • bg
  • logos
  • tracks

Каждому элементу внутри параметров присваивается ID — целое число, которое определяет порядок выбора элементов (чем меньше число — тем выше приоритет):

# resources.yaml
---
  menu:
    bg:
      0:
        # параметры
      1: 
        # параметры
    logos:
      0:
        # параметры
      1:
        # параметры
    tracks:
      0:
        # параметры
      1:
        # параметры

Также у каждого элемента может быть задан параметр condition, в котором прописывается условие, при котором данный элемент может быть выбран для отображения.

bg

Тип: список

Список фонов для главного меню.

Фон может задаваться одним из двух параметров:

  • asset
  • name


Первый используется для указания пути конкретного ассета, второй — для указания ID определённого в resources.yaml или встроенного в игру фона.

# resources.yaml
---
bg:
  bus_stop: bg/bus_stop.jpg # определение фона bus_stop

menu:
  bg:
    0:
      asset: bg/menu_bg.jpg # подгрузка фона из папки bg
    1:
      name: bus_stop # подгрузка фона bus_stop

Параметр asset принимает следующие типы:

  • texture — тип по умолчанию
  • sprite
  • prefab


Также можно в ноде просто указать путь до ассета без указания других параметров, в таком случае это будет равносильно указанию параметра asset:

# resources.yaml
---
bg:
  bus_stop: bg/bus_stop.jpg # определение фона bus_stop

menu:
  bg:
    0: bg/menu_bg.jpg # подгрузка фона из папки bg

Эффекты постобработки

Помимо описанных выше параметров, нод также может принимать ещё несколько параметров:

  • particles
  • twirl
  • noise
  • blur

Все эти параметры — булевые переменные, т.е. их значением может быть либо true, либо false. Они отвечают за включение/отключение соответствующие эффекты пост-обработки фона в главном меню:

# resources.yaml
---
  menu:
    bg:
      0:
        name: house_mc_day
        twirl: true
        particles: true
        blur: true
        noise: true

По умолчанию значения всех параметров — true.

Также можно задать overlay-цвет для фона при помощи параметра color:

# resources.yaml
---
  menu:
    bg:
      0: # пример дневной вариации фона из главного меню игры
        name: house_mc_day
        color: "#AC8E0E32"

logos

Тип: список

Список логотипов для главного меню.

Изображение логотипа задаётся при помощи параметра asset:

# resources.yaml
---
menu:
  logos:
    0:
      asset: images/menu_logo.png

Также значением asset может быть default — в таком случае игра будет использовать встроенный логотип LMR:

# resources.yaml
---
menu:
  logos:
    0:
      asset: default # будет использован логотип Love, Money, Rock'n'Roll

Параметр asset данного нода — своего рода исключение, которое помимо пути ассета принимает и значение default.

Ещё одной особенностью параметра asset является возможность указать разные ассеты под разные языки, аналогично синтаксису языковых нодов, только в качестве значения нужно писать путь к ассету:

# resources.yaml
---
menu:
  logos:
    0:
      asset:
        ru: images/menu_logo_ru.png
        en: images/menu_logo_en.png

Аналогично bg, можно указать только путь к ассету, игнорируя остальные параметры:

# resources.yaml
---
menu:
  logos:
    0: images/menu_logo.png
    1: default

Положение и размер логотипа

Положение и размер логотипа настраиваются двумя параметрами:

  • position
  • size


Оба параметра принимают как и ID положения/размера, указанного в resources.yaml, так и числовые значения:

# resources.yaml
---
sizes:
  logo_normal: 0.8 0.8
positions:
  logo_top: 0 0.25

menu:
  logos:
    0:
      asset: images/menu_logo.png
      position: 0 0.25
      size: 0.8 0.8
    1:
      asset: images/menu_logo.png
      position: logo_top
      size: logo_normal

tracks

Тип: список

Фоновые треки для главного меню.

Аналогично нодам bg, трек указывается либо через assset, либо через name. Также можно указать только путь к ассету:

# resources.yaml
---
sizes:
  logo_normal: 0.8 0.8
positions:
  logo_top: 0 0.25

menu:
  tracks:
    0:
      asset: sound/menu_track.mp3
    1:
      name: summertime # трек, встроенный в игру    
    2: sound/menu_track.mp3 # аналогично ноду с "0"

Параметр asset принимает только один вид ассетов — sound.

Условия вывода

Каждый нод фона/лого/трека может иметь параметр condition, который отвечает за условие выбора того или иного элемента.

Условие может содержать глобальные и persistent переменные, а также значения DateTime:datetime:

# resources.yaml
---
menu:
  bg: # пример вывода стандартных фонов главного меню в зависимости от времени суток
    0:
      name: house_mc_day
      color: "#AC8E0E32"
      condition: "datetime.hour >= 7 && datetime.hour < 16"
    1:
      name: house_mc_sunset
      color: "#87173E2D"
      condition: "datetime.hour >= 16 && datetime.hour < 22"
    2:
      name: house_mc_night
      color: "#3A00BE3C"
      condition: "datetime.hour >= 22 || datetime.hour < 7"

Значения глобальных переменных будут браться из последнего сохранения. Если такого нет, будут использованы значения по умолчанию.

Пустые значения

Если вы хотите не выводить вообще ничего, достаточно в качестве значения для параметра asset указать null:

# resources.yaml
---
menu:
  bg:
    0:
      asset: null # также можно указать как 0: null
  logos:
    0:
      asset: null
  tracks:
    0:
      asset: null