개발/Unity

[Unity] 클래스에서 get, set 접근자를 사용해 enum형 변수를 가져오기

센솔 2020. 8. 31. 17:31
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;

public class WorldTile
{
    public Vector3Int LocalPlace { get; set; }

    public Vector3 WorldLocation { get; set; }

    public TileBase TileBase { get; set; }

    public Tilemap TilemapMember { get; set; }

    public string Name { get; set; }

    public bool IsExplored { get; set; }

    public WorldTile ExploredFrom { get; set; }

    public int tileCode { get; set; }

    public string Layer { get; set; }

    //enum형 변수는 어떻게 선언하지?
}

타일의 정보를 객체지향적으로 관리하기 위해 WorldTile 클래스를 만들었다.

타일의 고유 번호인 tileCode, 현재 Layer의 정보가 담긴 string 변수 등등의 모습을 볼 수 있다.

 

여기에 추가적으로 타일의 속성을 구분하기 위해 다음과 같은 enum형 변수를 만들고자 하였다.

    public enum tileType
    {
        BARRIER,
        NORMAL,
        ROAD,
    };

그런데 이런 enum형 변수를 어떻게 위와 같이 { get; set; } 접근자로 구현할 수 있는지 궁금했다. 

 

방법은 매우 간단했다.

    public enum tileType
    {
        BARRIER,
        NORMAL,
        ROAD,
    };

    public tileType _tileType { get; set; }

결국 enum으로 선언한 tileType라는 변수도 하나의 변수 형식일 뿐이므로, tileType형 변수를 반환하는 { get; set; } 접근자를 만들어주면 된다.

 

<참고자료>

 

[유니티 C# 기초 강의] 9. 프로퍼티

이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 프로퍼티(Property)는 속성이라는 의미를 가지고 있습니다. 클래스에서 멤버 변수를 속성이라고도 하는데 우리는 정보은닉을 위해 이를 private��

itmining.tistory.com

 

C# How to use get, set and use enums in a class

I have a program where I use a class store settings. I need it to use set and get functions to change and store settings. I have tried this, and I don't get it to work. Can anyone help me with this...

stackoverflow.com