Как стать автором
Обновить
4
0
Ярослав Лахин @YLahin

Пользователь

Отправить сообщение
Плагин мощный, но:
1) Для некоторых людей такое решение может показаться избыточным.
2) Платный.
Навскидку, флаги можно использовать в качестве тегов. Допустим есть игра в жанре Match3. Элементы на поле могут иметь различные свойства: возможность уничтожения, объединения с другими фишками, способность к перемещению и т.д.

[Flags]
public enum Tag
{
    Breakable = 1,
    Mergeable = 2,
    Movable = 4,
}

public sealed class Chip : MonoBehaviour
{
    [SerializeField]
    private Tag _tag;

    public bool HasTag(Tag tag) => _tag.HasFlag(tag);
}


Без флагов подобный функционал будет выглядеть чуть более объёмным и для внесения изменений потребуется больше телодвижений.

public sealed class Chip : MonoBehaviour
{
    [SerializeField]
    private bool _breakable;

    [SerializeField]
    private bool _mergeable;

    [SerializeField]
    private bool _movable;

    public bool IsBreakable => _breakable;

    public bool IsMergeable => _mergeable;

    public bool IsMovable => _movable;
}


Ещё флаги можно использовать для оптимизаций, используя их вместо проверки существования компонента на объекте через GetComponent().

Информация

В рейтинге
Не участвует
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность