Общая схема работы

Стандарт параметров объекта позволяет добавлять произвольное количество параметров на объект и изменять их с помощью модификаторов или пользовательских компонентов. Общая схема работы выглядит следующим образом:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/73a35503-57f8-4a8a-985c-496098307db8/Untitled.png

Как видно из схемы, стандарт состоит из двух основных компонентов: ObjectParameterController и ParameterModifierController. Компонент ObjectParameterController содержит список параметров, настраиваемых пользователем. Соответственно, компонент ParameterModifierController позволяет изменять значения параметров объектов в зависимости от конфигурации, заданной пользователем. ParameterModifierController поддерживает оба типа параметров (статический и динамический). Статические параметры, как правило, используются для улучшаемых показателей объекта (например, максимальное здоровье, сила, красноречие и т.д.) и изменяются посредством добавления или удаления модификаторов в стеке статического параметра. Динамические параметры используются для показателей, изменяющихся непосредственно в процессе игры (например, текущее здоровье, текущая защита, текущая энергия и т.д.).

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

Стандарт поддерживает два основных механизма применения модификаторов к параметрам: по положению объекта-модификатора в иерархии объекта с параметрами и по столкновению объекта-модификатора с одним или несколькими объектами с параметрами. Также Стандарт предлагает набор методов в компонентах ObjectParameterController и ParameterModifierController, позволяющих применять модификаторы к параметрам объектов исходя из пользовательской логики.

ObjectParameterController

Компонент ObjectParameterController содержит настраиваемый список параметров объекта и выглядит следующим образом:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4a5ce6cb-e6b5-4051-bdab-f849c7e04630/Untitled.png

Каждый параметр компонента удаляется по нажатию соответствующую на кнопку X, новый параметр добавляется по нажатию на кнопку Add parameter. Каждый параметр содержит следующие настройки:

Также каждый параметр имеет набор следующих событий в панели Events: