Комментарии 5
Спасибо, в закладках, для таких чайников как я самое то.
0
Открыл для себя Odin Inspector, больше нет надобности в таких drawer'ах
0
Спасибо, можно примеры использования?
0
Навскидку, флаги можно использовать в качестве тегов. Допустим есть игра в жанре Match3. Элементы на поле могут иметь различные свойства: возможность уничтожения, объединения с другими фишками, способность к перемещению и т.д.
Без флагов подобный функционал будет выглядеть чуть более объёмным и для внесения изменений потребуется больше телодвижений.
Ещё флаги можно использовать для оптимизаций, используя их вместо проверки существования компонента на объекте через GetComponent().
[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().
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Упрощаем рисование Enum Flags в Unity