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
, трек указывается либо через asset
, либо через 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:
# 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"
Значения глобальных переменных будут браться из continue-сохранения (которое загружается при нажатии "Продолжить" в главном меню).
Если такого нет, будут использованы значения по умолчанию.
Пустые значения
Если вы хотите не выводить вообще ничего, достаточно в качестве значения для параметра asset
указать null
:
# resources.yaml
---
menu:
bg:
0:
asset: null # также можно указать как 0: null
logos:
0:
asset: null
tracks:
0:
asset: null