작성
·
113
·
수정됨
0
Main 인 Attack task는 Inprogress 반환이라도 딱 한번만 호출되는데요.
같이 실행되는 TurnToTarget task는 Succeeded를 반환해도 매 프레임 여러 번 호출되는 것 같습니다.
여기서 어떤 규칙이 있는 건가요??
Parallel 컴포짓이 main task가 inprogress 일 동안에는
매 프레임 sub task 의 ExecuteTask()를 호출 하는 방식인가요??
답변 1
0
메인 Task가 유효하는 동안 두 번째 SubTask는 계속 호출되는 구조입니다.
Attack Task의 경우 일정 시간이 지나야 종료됩니다. 그래서 InProgress 방식이지요.
반면에 TurnToTarget은 바로 호출되기때문에 매 프레임마다 호출됩니다.
따라서 Attack Task가 마무리될 때까지 TurnToTarget은 매 프레임마다 계속 호출됩니다.
소스코드에는 다음과 같은 설명이 있습니다.
* Simple Parallel composite node.
* Allows for running two children: one which must be a single task node (with optional decorators), and the other of which can be a complete subtree.
SubTask는 현재 예제에서는 InProgress가 아닌 바로 Suceeded를 리턴해 종료시키기 때문에 프레임마다 호출되고 있습니다.
위 설명에도 써져있지만 메인 태스크가 활성화되는동안 서브트리는 계속 호출됩니다.
음... 그럼 subTask의 반환 값은 아무 의미가 없는 건가요??
Succeeded / Failed / InProgress 무슨 값을 반환 해도 계속 그냥 호출되는 건가요?