Skip to content

solutena/ToEnumAttribute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToEnumAttribute

인스펙터에서 string 타입을 지정한 enum 형식으로 보여주는 어트리뷰트입니다.

설치

image

  1. URL 복사

image

  1. 패키지 매니저에서 Add Package from Git URL 선택

image

  1. 복사한 URL로 설치

예제

public enum ItemType
{
	Weapon,
	Shield,
	Armor
}
public class Item : MonoBehaviour
{
	[ToEnum(typeof(ItemType))] public string itemType;
}

image

enum을 string형식으로 선언 한 후 [ToEnum(typeof(Enum))] 을 추가

meta 파일에는 string으로 저장되기 때문에

enum의 중간에 값을 추가해도 값이 변하지 않습니다.

public enum ItemType
{
	None, //추가
	Weapon,
	Shield,
	Armor
}
public class Item : MonoBehaviour
{
	[ToEnum(typeof(ItemType))] public string stringType;
	public ItemType enumType;
}

None타입 추가 전

image

None타입 추가 후

image

활용

public class Item : MonoBehaviour
{
	[ToEnum(typeof(ItemType))] public string itemType;

	public ItemType ItemType => Enum.TryParse(itemType, out ItemType result) ? result : ItemType.None;
}

코드에서 Enum으로 사용 할 땐 속성을 추가합니다.

public class Item : MonoBehaviour
{
	[ToEnum(typeof(ItemType))] public List<string> list;
	[ToEnum(typeof(ItemType))] public string[] array;
}

리스트와 배열을 지원합니다.