Unity 3

[Unity] 코루틴이란?

코루틴이란 시간의 경과에 따라 일련의 절차적 단계를 수행시키는 로직을 구현하는 데 사용되는 객체이다. 사실 Update함수에서도 가능한 내용들이지만 초당 호출이나, 매 프레임마다 굳이 호출이 필요하지 않은 부분을 매 프레임마다 호출하는 것은 바람직한 로직이 아니다. 코루틴의 역할 코루틴은 함수를 호출한다. 함수는 한 프레임에 호출되어 완료된다. 이때 함수는 IEnumerator 형을 반환 값으로 가지는 함수를 사용하고, IEnumerator에서 사용하는 다양한 yield return 구문을 사용해 흐름을 제어한다. yield return yield return 구문에는 아래와 같이 yieldInstruction 클래스를 사용한다. yield return null : 다음 프레임에 실행을 재개한다. yie..

Unity 2023.05.13
[Unity] 열거자 인터페이스 (IEnumerator)

이게 뭔데? 유니티 개발을 하면서 한번쯤은 다들 코루틴에 대해 접해보았을 것이라 생각한다. 코루틴을 사용하기 위해 StartCoroutine 함수를 사용할 때 인자로 넘겨주는 값이 바로 이 열거자 인터페이스이다. Current, MoveNext(), Reset()을 포함하였을 때 인터페이스를 사용할 수 있다. private Coroutine shopOpen = null; // 코루틴 선언. shopOpen = StartCoroutine(ShopOpen()); //코루틴 정의. IEnumerator ShopOpen(){...}; // 열거자 인터페이스. 무슨 기능을 하는데? 유니티에서 IEnumerator은 작업을 분할하여 수행하는 함수라고 생각하면 편하다. IEnumerator GetNumberIEnum..

Unity 2023.05.13
[C#] 프로퍼티란 무엇인가?

C++과 언리얼에 익숙해져 있던 나에게 프로퍼티는 말그대로 일종의 속성같은 것이었다. 오랜만에 C#으로 돌아와 문법을 되새기려니 프로퍼티의 개념이 조금 다르다는 것이 생각났다. 우리는 객체 지향언어의 특성 중 하나인 정보 은닉화를 염두에 두고 코드를 작성하여야 한다. 그러다보니 어떠한 변수를 private으로 선언하고 상황에 따라 get, set 함수를 정의해서 변수에 직접 접근하는것을 제한한다. 하지만 매번 return을 써가며 함수를 정의하는 것은 누구에겐 귀찮은 일이 아닐 수 없다. 그래서 C#에는 프로퍼티라는 것을 제공한다. 프로퍼티는 선언한 변수의 값을 외부에서 접근할 수 있도록 하면서 캡슐화를 지원하는 언어의 한 요소이다. / 자동 구현 프로퍼티 class PropertyTest{ privat..

Unity 2023.05.13