Unity 스크립팅 API 가이드
소개
이 문서는 Unity의 스크립팅 API에 대한 가이드입니다. 주로 2D 게임 개발에 필요한 타일맵을 다루고 있으며, 타일 생성 및 업데이트에 대한 기능을 제공합니다.
타일 및 타일맵
타일맵에 추가되는 모든 타일은 TileBase
클래스로부터 값을 상속받습니다. TileBase
는 고정된 API 세트를 제공하여 타일맵에 대한 렌더링 속성을 전달합니다. 주요 메서드는 다음과 같습니다:
메서드 명 | 설명 | 매개변수 | 반환 타입 |
---|---|---|---|
RefreshTile |
주위의 어떤 타일이 업데이트될지 결정 | Vector3Int location , ITilemap tilemap |
void |
GetTileData |
타일의 모습 결정 | Vector3Int location , ITilemap tilemap , ref TileData tileData |
bool |
GetTileAnimationData |
타일 애니메이션 여부 확인 | Vector3Int location , ITilemap tilemap , ref TileAnimationData tileAnimationData |
bool |
StartUp |
타일이 처음 업데이트될 때 호출 | Vector3Int location , ITilemap tilemap , GameObject go |
bool |
주요 메서드 설명
RefreshTile
이 메서드는 타일이 타일맵에 추가될 때 어떤 타일을 새로 고쳐야 할지 결정합니다. 기본적으로 TileBase
는 tilemap.RefreshTile(location)
을 호출하여 현재 위치의 타일을 새로 고칩니다. 새 타일을 배치할 때 어떤 타일이 새로 고쳐져야 하는지를 오버라이드할 수 있습니다.
사용 예:
타일이 별도의 도로에 연결될 때, 도로가 T자형 교차로로 변경되어야 합니다.
GetTileData
이 메서드는 타일맵에 표시되는 타일의 모습을 결정합니다. 반환된 TileData
구조체가 어떻게 타일을 렌더링할지를 정의합니다.
GetTileAnimationData
이 메서드는 타일에 애니메이션이 있는지를 판단합니다. 애니메이션이 존재하면 true
를 반환하고, 아니면 false
를 반환합니다.
StartUp
타일맵이 처음 업데이트될 때 각 타일에 대해 호출됩니다. 사용자가 필요한 경우, 타일에 대한 시작 논리를 처리할 수 있습니다.
활용 예제
1. 도로 타일 생성
public class RoadTile : TileBase
{
public override void RefreshTile(Vector3Int location, ITilemap tilemap)
{
// 인접한 타일 업데이트 로직
// 예: T자형 교차로 로직 추가
}
public override bool GetTileData(Vector3Int location, ITilemap tilemap, ref TileData tileData)
{
// 타일의 비주얼 속성을 설정
return true;
}
}
2. 애니메이션 타일
public class AnimatedTile : TileBase
{
public override bool GetTileAnimationData(Vector3Int location, ITilemap tilemap, ref TileAnimationData tileAnimationData)
{
// 애니메이션 데이터 설정
return true;
}
}
결론
위의 API 설명과 사용 예제는 Unity의 타일맵 시스템을 활용하여 게임 개발 시 효율적으로 타일을 관리하고 업데이트하는 데 도움이 될 것입니다. 필요에 따라 각 메서드를 오버라이드하여 게임에 맞게 구현하세요.