본문 바로가기

제네릭컬렉션

유니티47_게임 제작 과정 16_Generic Collections 이번에는 적을 생성하는 방법을 업그레이드 해보자. 현재 적을 생성하는 좌표(Coordinate)는 배열(Array)로 만들어져서 좌표를 추가하지 못하고 정해져 있다. 이것을 좌표를 랜덤으로 추가하기 위해서는 제네릭컬렉션인 List로 바꾸면 된다. 2번 줄에서 제네릭컬렉션을 사용하기 위해 네임스페이스 System.Collection.Generic을 사용한다. 12번 줄에서 List로 수정한다. EnemyRandom메서드를 위와 같이 수정한다. 52번 줄에서 SpawnEnemy 매개변수를 전달한다. GameObject타입은 범위를 (0,2)로 지정해서 0~1개의 적을 전달한다. 좌표 위치는 Coordinates 리스트의 개수(Count)까지 중에서 랜덤으로 선택해서 그 위치를 받아 전달한다. 54번 줄에서 .. 더보기
유니티37_C#_22_Generic 제네릭 Generic(제네릭) 앞 글 마지막 부분에 컬렉션의 단점(boxing, unboxing)에 대해 설명하고 그것을 극복하기 위해 Generic을 만들었다고 했다. *generic : 포괄적인, 총칭의 Generic은 '타입(Type)을 미리 정하지 않고(포괄적인 상태로 해두고), 그것을 사용할 시점에 타입을 정의'하는 것을 말한다. 12번줄에 클래스를 만들고 int타입의 필드를 만들었다. 7,8번줄에 이 클래스로 객체를 만들고 data필드에 int값을 저장했다. 그런데 data에 다시 float타입의 값을 넣어야 한다면 다음과 같이 필드를 추가하거나, 새 클래스를 만들어야 한다. 위와 같은 상황을 해결할 수 있는 것이 Generic(제네릭)이다. 제네릭은 타입을 미리 정하지 않은 상태에서 나중에 타입을 .. 더보기