Skip to content

BTHeader

29thnight edited this page Nov 27, 2025 · 1 revision

BTHeader 핵심 노드 클래스

간단 설명: Behavior Tree 런타임 실행을 위한 추상 기본 노드(BTNode)와 여러 파생 노드 타입(Composite/Decorator/Action/Condition 등) 정의.

공통: BTNode

항목 설명
Tick virtual NodeStatus Tick(float dt, BlackBoard&) = 0 실행 인터페이스
이름 GetName()/SetName()
타입 GetNodeType() 순수 가상(파생에서 구현)
소유자 SetOwner(GameObject*)/GetOwner()
출력 핀 연결 여부 IsOutpinConnected() (Composite/Decorator에서 오버라이드)

Composite 계열

클래스 특징
CompositeNode 자식 다수, 데코레이터/자식 벡터 보유
SequenceNode 순차 실행: 실패 시 즉시 Failure, 모두 성공 시 Success
SelectorNode 하나라도 성공하면 Success, 모두 실패하면 Failure
WeightedSelectorNode 가중치 기반 확률 선택, Running 자식 유지 지원
ParallelNode 자식 동시 Tick, 정책(ParallelPolicy)에 따라 전체 결과 판정

Decorator 계열

클래스 특징
DecoratorNode 단일 자식 래핑, 연결 여부 체크
InverterNode 자식 결과 Success<->Failure 반전
ConditionDecoratorNode 조건 만족 시 자식 Tick, ConditionCheck 가상 함수 필요

Condition / Action

클래스 특징
ConditionNode 조건 검사 후 Success/Failure 반환 (ConditionCheck)
ActionNode 작업 수행 후 NodeStatus 반환 (사용자 구현 Tick)

상태/ID 관련 필드(스크립트 통합)

필드 설명
m_typeID 엔진 타입 GUID(리플렉션/핫리로드)
m_scriptTypeID 스크립트 타입 GUID(동적 로드 매핑)

병렬 정책(ParallelPolicy)

설명
RequiredAll 모든 자식 성공 시 Success, 하나 실패면 Failure
RequiredOne 하나라도 성공 시 Success, 모두 종료 후 실패면 Failure

Running 처리 요약

  • Sequence/Selector: Running 자식 인덱스 유지
  • WeightedSelector: Running 자식 인덱스 재진입 시 동일 자식 계속 Tick
  • Parallel: anyRunning 플래그로 진행 중 판단

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally