-
시즌 3호 BT랑 친해지기(미완)TIL 2023. 11. 13. 23:20반응형
BT 골자 스크립트 진행
1#BTBehaviour.cs
노드 상태와, 노드 타입 선언
상태 반환 메서드
bool IsTerminated()
노드 상태 : 성공 혹은 실패인 경우 참을 반환함
bool IsRunning()
노드 상태 : 실행중인 경우 참을 반환함
1##일반 메서드
세팅&반환 메서드들
부모 노드 / 노드 상태 / 노드 타입 / 노드 인덱스(복합노드 한정)
2##virtual (재정의 가능)메서드
Reset()
=>스테이터스 상태를 기본으로 돌림
Initialize() / Terminate()
=>각각 노드 초기화(시작 시) 및 종료 시 기본적으로 호출되는 메서드
Status Update() [###기본 업데이트가 아니다###]
=>기본적으로 성공 상태를 반환함
★Status Tick()
=>노드를 실행하고, 상태를 업데이트하고, 필요한 경우 초기화 및 종료를 수행(사실상 다함)
기본 상태
실제 내용 (순서대로 실행)
현재 상태 기본값이라면 : 초기화 실행 및 노드 상태 실행중으로 변경
중간에 Update()로 현재 상태 업데이트(기본값 성공)
사실상 위에서 노드 기본값인 경우 실행중으로 변경하기 때문에, 거의 종료임
현재 상태 작동중이 아니라면 : 노드 종료시 메서드 Terminate();실행
최종적으로 나온 상태를 반환함
ㅡㅡㅡ
2#BTComposite.cs : 복합노드의 골자 [BTSelector / BTSquence]
복합노드? : 자식 노드가 있는 노드
기본적으로 리스트에 자식 노드들을 저장함
생성 시 자식 노드 리스트를 초기화 함
1##일반 메서드
BTBehaviour GetChild(int index)
return listChild[index]
=>복합 노드 특정 인덱스의 자식 노드를 반환함
GetChildCount()
=>복합 노드가 가진 자식 노드 개수를 반환함
2##override 메서드(덮어쓰기)
override void Reset()반응형'TIL' 카테고리의 다른 글
메모리와 참조 형식, 그리고 값 형식 (2) 2023.11.23 11-22 멘토링 C# 마케팅, 추천 강의, 교재, 에셋 스토어 (1) 2023.11.23 최종 프로젝트 - 오늘 마침내 동기화 이슈 해결 (0) 2023.11.09 오늘의 팁 (0) 2023.11.09 최종 프로젝트 - BT에 들어갈 노드들 정리(+개념) (1) 2023.10.31