posted by REDFORCE 2017. 6. 12. 14:14

이전 글 내용에 이어서 적도록 하겠습니다.


이전 글에서 Terrain에 자유문맥에 해당하는 내용만 담음으로 우리는 지형을 각 종류별로 1번씩만 만들고 Terrain 객체의 포인터를 받아오는 것으로 World를 만들 수 있게됐습니다.



이렇게 지형 종류가 같은 타일들은 모두 같은 Terrain 인스턴스 포인터를 받아오기만 하면 됩니다. 그림으로 표현하면 다음과 같습니다.


3-3.png

(Terrain 객체를 재사용하는 타일들)


Terrain 인스턴스가 여러 곳에서 사용되다보니 동적으로 할당하면 생명주기를 관리하기가 좀 더 어렵습니다. 따라서 World 클래스에 저장합니다.



위와 같이 World를 만듬으로써 이제 다음과 같이 땅을 채울수 있게 됩니다.



이제 지형 속성 값을 World 의 메서드 대신 Terrain 객체에서 바로 얻을 수 있습니다.