Class: LayerManager
객체의 종류를 나누기 위해 레이어를 사용한다. 예를 들어, 벽이나 땅같은 객체들은 지형 레이어에 속하고, 아군이나 적은 유닛 레이어에, 화살이나 포탄, 총알 등은 투사체 레이어에 속한다. 이는 물리엔진에서 활용되어 객체가 특정 레이어에 속하는 객체의 충돌을 무시할 수 있다. LayerManager에서는 각 레이어의 상태를 관리한다.
Description
Usage
new LayerManager()
Members
(static) layerSet
전체 레이어의 목록을 나타낸다. 새로운 Layer클래스를 생성하는 순간 Layer클래스의 생성자에 의해 layerSet에 그 레이어가 추가된다.
Properties:
Type | Description |
---|---|
Set |
(static) physicsInteractionMap
map에 각 레이어별로 Set을 만들어 다른 레이어와 충돌체크가 가능한지 나타낸다.
만약 어떤 레이어의 Set에 특정 레이어의 이름이 있다면 그 레이어와 충돌체크를 진행하게 된다. 반대로 어떤 레이어의 Set에 특정 레이어의 이름이 없다면 그 레이어와 충돌체크를 진행하지 않는다.
ex. a의 Set이 {'a','b','c'}라면, a레이어는 a, b, c레이어와 충돌체크를 진행하게 된다.
Properties:
Type | Description |
---|---|
Map |
Methods
(static) initializePhysicsInteractionState()
physicsInterationMap에 모든 레이어별로 Set을 생성하고, 각 Set에 모든 레이어를 추가한다.
(static) setPhysicsInteration(layerA, layerB, isEnable)
두 레이어간 충돌체크를 할 것인지를 설정한다. isEnable이 true라면 두 레이어간 충돌체크를 활성화한다.