본문 바로가기

취미로 하는 게임코딩_gameCodingAsHobby/유니티unity로 게임 만들기

유니티47_게임 제작 과정 16_Generic Collections

이번에는 적을 생성하는 방법을 업그레이드 해보자.

현재 적을 생성하는 좌표(Coordinate)는 배열(Array)로 만들어져서 좌표를 추가하지 못하고 정해져 있다.

이것을 좌표를 랜덤으로 추가하기 위해서는 제네릭컬렉션인 List<T>로 바꾸면 된다.

 

 

2번 줄에서 제네릭컬렉션을 사용하기 위해 네임스페이스 System.Collection.Generic을 사용한다.

12번 줄에서 List<Coordinate>로 수정한다.

 

EnemyRandom메서드를 위와 같이 수정한다.

52번 줄에서 SpawnEnemy 매개변수를 전달한다.

GameObject타입은 범위를 (0,2)로 지정해서 0~1개의 적을 전달한다.

좌표 위치는 Coordinates 리스트의 개수(Count)까지 중에서 랜덤으로 선택해서 그 위치를 받아 전달한다.

54번 줄에서 EnemyRandom메서드를 1초마다 반복한다.

 

좌표를 랜덤으로 추가하기

기존의 배열을 제네릭컬렉션으로 바꾸었다.

이번에는 이것을 이용해서 게임의 난이도를 높이기 위해 적이 죽을 때 좌표를 List<T>에 추가한다.

좌표가 많아지면 좀 더 다양한 곳에서 적이 새로 생성될 것이고 그 만큼 게임이 어려워질 수 있다.

 

65번 줄에서 메서드 명은 EventManager(이벤트 매니저)에서 점수를 올릴 때 만든 EnemyDies로 한다.

이 메서드도 이벤트의 구독자로 등록하기 위함이다.

67번 줄에서 좌표를 생성하고 68번 줄에서 coordinate에 Add메서드로 추가한다.

 

PrefabsManager의 Start() 메서드에 앞에서 만들었던 이벤트에 EnemyDies메서드를 등록하여 구독한다.

이벤트가 발생하면 좌표가 추가될 것이다.

 

끝.

Wraven...