UniTask에 대해서
UniTask는 Unity에서 비동기 작업을 보다 효율적으로 처리하기 위해 설계된 라이브러리. Unity는 기본적으로 Coroutine을 통해 비동기 작업을 처리하는데, UniTask는 이보다 더 직관적이고 효율적인 방법을 제공한다. C#의 async/await 패턴을 Unity 환경에서 사용할 수 있도록 해주는 것이 특징. 필요성 비동기 프...
UniTask는 Unity에서 비동기 작업을 보다 효율적으로 처리하기 위해 설계된 라이브러리. Unity는 기본적으로 Coroutine을 통해 비동기 작업을 처리하는데, UniTask는 이보다 더 직관적이고 효율적인 방법을 제공한다. C#의 async/await 패턴을 Unity 환경에서 사용할 수 있도록 해주는 것이 특징. 필요성 비동기 프...
동기 Synchronous 동기 Synchronous 방식은 작업이 순차적으로 일어나는 방식을 말한다. 하나의 작업이 완료되기 전까지 다음 작업이 시작되지 않는 것. 대체로 클라이언트 내부에 구현하는 간단한 기능들은 이 방식에 해당한다. 예제 - 동기적 방식으로 텍스트 파일에 접근하기 지정된 경로의 텍스트 파일을 읽는 것을 시도하고, 성공하면 ...
Task 클래스 Thread, Thread Pool의 단점을 개선한 클래스 Task는 Background Thread이며 Thread Pool을 이용한다. - 예제 1 Task의 생성에 람다식을 사용할 수 있다. - 예제 2 Thread의 Join() 함수와 유사한 Wait() 함수를 지원한다. - 예제 2, 3 ContinueW...
Process 프로세스 OS안에서 실행되는 프로그램 실행 파일에 담겨있는 데이터 및 코드가 메모리에 적재되어 동작하는 것 프로세스는 반드시 하나 이상의 스레드로 구성된다. 여러 스레드로 구성될 수도 있다. Thread 스레드 OS가 CPU에 시간을 할당하는 기본단위 OS가 명령어를 실행하기 위한 스케줄링 단위 멀티 스레드...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Command Pattern GoF 정의 요청 자체를 캡슐화하는 것 이를 통해 요청이 서로 다른 사용자를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴 수 있는 연산을 지원한다. 명령 패턴은 메서드 호출을 실체화, 즉 객체...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Adapter Pattern 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다. Adapter Pattern을 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. ‘...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Observer Pattern 정의 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 방식으로, 일대다 (one-to-many) 의존성을 정의한다. Subject Object의 상태 (변수, …)...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. State Pattern 강의 영상에선 슈퍼 마리오와 같은 플랫포머 게임의 캐릭터 조작을 구현하는 상황을 예시로 들었다. Update() 안에서 사용자의 입력을 받아, 입력에 맞는 동작을 구현한다. (점프, 엎드리기, 엎드려서 기모으기, 이...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Builder Pattern Bulider Pattern 은 복잡한 유형의 오브젝트를 작성하는 데 사용된다. 객체를 생성할 때 그 객체를 구성하는 일부분들을 먼저 생성하고, 이들을 조합함으로써 객체 전체를 생성한다. 생성할 객체의 ...
위 글은 이재환님의 게임 디자인 패턴 with Unity 인프런 강의를 듣고 남긴 필기입니다. Object Pool Pattern 재사용 가능한 객체들을 모아놓은 객체 풀 클래스를 정의한다. 여기에 들어가는 객체는 현재 자신이 ‘사용 중’인지 여부를 알 수 있는 방법을 제공해야 한다. 풀은 초기화될 때 사용할 객체들을 미리 생성하고...