본문 바로가기

유니티

[Behavior Designer] 06 . PARENT TASKS

[PARENT TASKS]

[PARENT TASKS]

=>Parent Task는 Composite / Decorater Task를 말한다.

// 상위 작업이 가질 수 있는 최대 자식 수입니다. 일반적으로 1 또는 int입니다.
public virtual int MaxChildren();

// 현재 작업이 병렬 작업인지 확인하는 부울 값입니다
public virtual bool CanRunParallelChildren();

//현재 활성 자식의 인덱스입니다.
public virtual int CurrentChildIndex();

// 현재 작업을 실행할 수 있는지 여부를 결정하는 bool 값입니다. 
public virtual bool CanExecute();

// 실행된 상태에 데코레이터를 적용합니다
public virtual TaskStatus Decorate(TaskStatus status);

//자식이 실행되었고 상태가 childStatus임을 부모 작업에 알립니다.
public virtual void OnChildExecuted(TaskStatus childStatus);

// 인덱스 childIndex의 자식이 실행되었고 상태가 childStatus임을 부모 작업에 알립니다.
public virtual void OnChildExecuted(int childIndex, TaskStatus childStatus);

// 자식이 실행을 시작했음을 작업에 알립니다.
public virtual void OnChildStarted();

// 인덱스 childIndex의 자식이 실행을 시작했음을 병렬 작업에 알립니다.
public virtual void OnChildStarted(int childIndex);

// 병렬 작업과 같은 일부 부모 작업은 상태를 재정의할 수 있어야 합니다.
public virtual TaskStatus OverrideStatus(TaskStatus status);

// 인터럽트 노드는 인터럽트된 경우 상태를 무시합니다. 
public virtual TaskStatus OverrideStatus();

// 복합 작업에 조건부 중단이 트리거되었고 자식 인덱스를 재설정해야 함을 알립니다.
public virtual void OnConditionalAbort(int childIndex);