1-25)TIL /./Enum

최보훈·2024년 1월 25일
0

TIL

목록 보기
17/28
post-thumbnail

프로젝트진행중

Enum 조작

플레이 캐릭터 선택 기능을 만드는 과정에서 캐릭터를 enum으로 선택할 수 있는 기능을 만들기위해 enum을 index로 조작하려고 했는데 잘 안됐다.
게임상의 버튼을 클릭하면 enum의 다음 인덱스로 변경하는 기능을 원했는데 다음과 같이 해결했다.

        Character[] characterValues = (Character[])Enum.GetValues(typeof(Character));
        int currentIndex = Array.IndexOf(characterValues, currentCharacter);
        int nextIndex = (currentIndex + 1) % characterValues.Length;
        currentCharacter = characterValues[nextIndex];

enum인 Character을 배열로 선언해 배역에 각각의 Enum을 할당해준다.
그 후 인덱스 번호int currentIndex에 현제 characterValues배열의 값을 저장한다. 이 인덱스 번호를 이용해서 enum을 조작해줄 수 있다.

챌린지반 특강

델리게이트

쉽게 말하자면 함수를 변수처럼 넣어서 사용할 수 있게 해주는것.

  • 기본 구조 = delegate 변환형 델리게잍 이름(매개변수);
    기본적으로 함수와 구조가 유사하다.
    • ex) delegate void SpawnDelegateFunc();
  • 왜 사용할까?
    • 확상성!

0개의 댓글