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_normaltracks
Тип: список
Фоновые треки для главного меню.
Аналогично нодам 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