Skip to content

UWPrefabBuilder

Артем edited this page Apr 2, 2021 · 1 revision

UWPrefabBuilder приложение для визуальной сборки сложных объектов в GMS2.

Теория

В качестве Префабов используются sequences, позволяющие хранить всю иерархию объектов со всеми компонентами и значениями свойств. Префаб выступает в роли шаблона для создания экземпляров хранимого объекта в комнате. Любые изменения в префабе немедленно отражаются и на всех его экземплярах, при этом вы можете переопределять компоненты и настройки для каждого экземпляра в отдельности.

Как это работает

Подробнее в демо проекте здесь. При старте игры запускается скрипт, который ищет все секвенции с tag == __uw_prefab собирает из них всю возможную информацию и сохраняет это в виде структуры данных, у которой есть метод InstanceCreateLayer, создающий объект и наполняющий его содержимым согласно шаблону. Чтобы создать объект, нужно знать название секвенции префаба и вызвать его следующим образом:

var prefab = global.__uw_prefab_factories[$ "имя_секвенции_префаба"];
var inst = prefab.InstanceCreateLayer(x, y, "Instances");
Clone this wiki locally