Game Dev Study Log

by ricale

취미로 하는 게임 개발 공부

강의 27,28강 수강

강의 수강: Unity Turn-Based Strategy Game: Intermediate C# Coding

27. Grid System (13:45)

그리드 시스템 관리를 위한 GridSystem 클래스를 새로 생성.

  • 이 클래스는 MonoBehaviour 를 상속받지 않음.
  • MonoBehaviour 를 상속 받지 않기 때문에 생성자를 직접 구현해야 함.
  • 좌표에는 x,y 대신 x,z 를 사용한다. 그렇다면 그리드 시스템의 크기는 width/length 가 맞겠으나 관습적으로 width/height 가 더 가독성 있어서 width/height 를 사용한다.

그리드 상의 위치를 표현하기 위해 GridPosition 이라는 struct 생성

  • struct 는 값, class object 는 레퍼런스. 때문에 struct 는 함수 인자로 전달하면 값이 복사되어 전달되는 것이고, 해당 struct 를 수정해도 원본은 수정되지 않는다.

Debug.DrawLine(): 디버깅을 위해 선을 그릴 수 있다.

28. Grid Object (08:57)

GridSystem 의 각 그리드 칸에 쓰일 클래스 GridObject 생성.

모든 GameObjectTransform 을 가지고 있다. 모든 TransformGameObject 를 가지고 있다. 따라서 둘은 웬만한 상황에서 interchangable 하다. 취향과 상황에 맞게 골라 사용하자.

텍스트 오브젝트 가운데 정렬 편하게 하는 법 = 가로 가운데 정렬 + 세로 가운데 정렬 + 너비 0 + 높이 0 + Wrapping Disabled

이번 강의에서는 클래스 만들어서 GridSystem 안에서 필요한 만큼 객체를 만들어서 멤버로 할당하는 것 까지만.