Skip to content

upm-packages/EnumFlags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enum Flags

image

EnumFlags provides [EnumFlags] attribute to render multiple selection listbox in Inspector.

Installation

upm add package dev.upm-packages.enumflags

Please refer to this repository about the upm command.

Scoped Registry

This package has published at Unofficial Unity Package Manager Registry.

Please setup scoped registry in Packages/manifest.json to use this package.

"scopedRegistries": [
  {
    "name": "Unofficial Unity Package Manager Registry",
    "url": "https://upm-packages.dev",
    "scopes": [
      "dev.upm-packages"
    ]
  }
]

Usages

Annotate enum using [System.Flags]

using System;

[Flags]
public enum SampleFlag
{
    Foo = 1 << 0,
    Bar = 1 << 1,
    Buz = 1 << 2,
    Quz = 1 << 3,
}

Note: It's strongly recommended to set value explicitly by bit shift.

Annotate serializable fields using [EnumFlags.EnumFlags]

using UnityEngine;
using EnumFlags;

public SampleComponent : MonoBehaviour
{
    [SerializeField]
    [EnumFlags]
    private SampleFlag flag = default;

    public SampleFlag Flag => flag;

    private void Start()
    {
        Debug.Log($"Value: {Flag}");
    }
}

About

Render listbox in Inspector for [Flags] enum

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages