본문 바로가기
유니티 공부/Unity

Unity - Tilemap에서 BoundsInt의 Properites , PositionEnumerator 구조체

by 코딩하는 돼징 2023. 8. 17.
반응형

BoundsInt

Tilemap에서의 BoundsInt는 주로 Tilemap내의 유효한 cell영역을 나타내는데 사용된다. 각 cell은 하나의 tile을 나타낸다.

 

Properties

01 position

타일맵 내의 최소 지점

public Vector3Int position { get; set; }

02 size

타일맵 내의 경계의 크기

public Vector3Int size { get; set; }

03 min

position과 동일한 값으로 경계의 최소 지점

public Vector3Int min { get; set; }

04 max

position + size - 1로 계산되어 경계의 최대 지점

public Vector3Int max { get; set; }

05 allPositionsWithin

해당 경계내에 있는 모든 위치를 포함하는 PositionEnumerator를 반환한다. 이 PositionEnumerator는 BoudnsInt에 포함된 모든 위치를 열겨할 수 있는 기능을 제공한다.

public PositionEnumerator allPositionsWithin { get; }

PositionEnumerator 구조체

이 구조체는 BoudnsInt에 포함된 모든 위치를 열겨하기 위해 사용되며 특정 영역 내의 위치를 반복하고 처리하는 데 유용하다.

구성요소

01 생성자

min과 max를 사용하여 PositionEnumerator객체 생성

public PositionEnumerator(Vector3Int min, Vector3Int max);

02 Current

현재 열거 중인 위치

public Vector3Int Current { get; }

03 GetEnumerator

RectInt의 위치를 열거하는 반복자(Iterator)를 반환한다. 이를 통해 RectInt내의 모든 위치를 반복하여 접근하고 작업할 수 있다.

public PositionEnumerator GetEnumerator();

반복자(Iterator)란?

컬렉션 내의 요소를 순환하면서 접근할 수 있는 인터페이스를 제공하는 것이다. 컬렉션 내부 구조를 외부로 노출시키지 않으면서도 컬렉션의 각 요소에 접근하고 처리할 수 있다.


04 MoveNext

다음 요소로 이동시킨다. 다음 위치로 이동할 수 있으면 true 이동할 수 없으면 false를 반환한다.

public bool MoveNext();

05 Reset

PositionEnumerator 초기화

public void Reset();

 

 

 

 

반응형

댓글