BuildSystem : Preview오브젝트의 생성 및 파괴, 설치가능한 Preview오브젝트가 설치가능한 상태일때 생성
Preview : 각 타입별 Move와 설치가능 여부를 업데이트 해줍니다
BaseType : 각 타입들의 상위 클래스
DefaultType :
1.
RayCast를 쏨
2.
결과값에 따른 위치값 조정
•
땅 → BoxCast → 오브젝트 : 제일 거리가 짧은 오브젝트에 스냅
•
땅 → BoxCast → None : 땅에 그려줌
•
오브젝트 → 스냅
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 BoxCast → 오브젝트 : 스냅
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 BoxCast → 실패 → 땅에 그려줌
3.
건설 가능여부 : CheckBox로 Buildable, Not_Buildable에 안잡힌다면 설치 가능
VerticalWallType :
1.
RayCast를 쏨
2.
결과값에 따른 위치값 조정
•
땅 → BoxCast → 오브젝트 : 제일 거리가 짧은 오브젝트에 스냅
•
땅 → BoxCast → None : 땅에 그려줌
•
오브젝트 → 스냅
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 BoxCast → 오브젝트 : 스냅
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 BoxCast → 실패 → 땅에 그려줌
3.
건설 가능여부 : CheckBox로 Buildable, Trap, Not_Buildable에 안잡히며 RayCast3개에 충돌해야 설치 가능
OnSurfaceType :
1.
RayCast를 쏨
2.
결과값에 따른 위치값 조정
•
땅 → 땅
•
오브젝트 → 오브젝트
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 RayCast → 오브젝트 → 오브젝트
3.
건설 가능 여부 : CheckBox로 Buildable_Obstacle, Turret, Trap에 안잡히며 RayCast를 각 모서리에서 아래로 쏴 충돌한다면 설치 가능
OnWallType :
1.
RayCast를 쏨
2.
결과값에 따른 위치값 조정
•
땅 → 땅
•
오브젝트 → 오브젝트
•
실패 → Camera의 forward로 range만큼 이동 후 Vector3.down으로 RayCast → 오브젝트 → 오브젝트
3.
건설 가능 여부 : CheckBox로 Turret, Trap에 안잡히며 RayCast를 각 모서리에서 뒤로 쏴 충돌한다면 설치 가능