Unity/Tips
간혹 열거형(enum)을 여러 개 지정할 때
최애뎡
2021. 7. 16. 17:44
728x90
반응형
https://docs.microsoft.com/ko-kr/dotnet/api/system.flagsattribute?view=net-5.0
FlagsAttribute 클래스 (System)
열거형을 비트 필드 즉, 플래그 집합으로 처리할 수 있음을 나타냅니다.Indicates that an enumeration can be treated as a bit field; that is, a set of flags.
docs.microsoft.com
using UnityEngine;
public class EnumTest : MonoBehaviour
{
[System.Flags] // [System.Flags] -> 열거형 -> 비트 연산
public enum Player
{
None,
Player_0 = 0x00000001, // 0000 0000 0000 0000 0000 0000 0000 0001
Player_1 = 0x00000002, // ~ 0010
Player_2 = 0x00000004, // ~ 0100
Player_3 = 0x0000000A // ~ 1010
}
private void Start()
{
// 여러 상태 동시에 -> 나중에 뭐 뛰는데 공격을 하면서 뛴다든지
Player player = Player.Player_3 | Player.Player_2;
Debug.Log(player);
// 나중에 뭐.. 조건문으로 상태를 비교 할 수도 있는
Player player_ = Player.Player_3 & Player.Player_2;
Debug.Log(player_);
Player player_0 = Player.Player_3 & Player.Player_3;
Debug.Log(player_0);
}
}
반응형