java.lang.Object
cn.wjybxx.btree.Task<T>
cn.wjybxx.btree.LeafTask<T>
cn.wjybxx.btree.fsm.ChangeStateTask<T>
- 所有已实现的接口:
ICancelTokenListener
- 作者:
- wjybxx date - 2023/12/1
-
字段概要
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected voidexecute()Task的心跳方法,在Task进入完成状态之前会反复执行。intintprotected voidonEventImpl(Object event) 对于控制节点,通常将事件派发给约定的子节点或钩子节点。voidsetCurStateResult(int curStateResult) voidsetDelayMode(int delayMode) voidsetMachineName(String machineName) voidsetNextState(Task<T> nextState) voidsetNextStateGuid(String nextStateGuid) voidsetStateProps(Object stateProps) 从类继承的方法 cn.wjybxx.btree.LeafTask
addChildImpl, childStream, getChild, getChildCount, indexChild, onChildCompleted, onChildRunning, removeChildImpl, setChildImpl从类继承的方法 cn.wjybxx.btree.Task
addChild, beforeEnter, canHandleEvent, checkCancel, enter, exit, getBlackboard, getCancelToken, getControl, getControlData, getCurFrame, getEnterFrame, getEntity, getEntryBlackboard, getExitFrame, getFlags, getGuard, getNormalizedStatus, getPrevStatus, getReentryId, getRunFrames, getSharedProps, getStatus, getTaskEntry, isAutoCheckCancel, isAutoListenCancel, isAutoResetChildren, isCancelled, isCompleted, isDisableDelayNotify, isExecuteTriggeredByEnter, isExecuting, isExited, isExitTriggeredByStop, isFailed, isFailedOrCancelled, isLocked, isNotified, isReentered, isRunning, isSlowStart, isStillborn, isSucceeded, lock, onCancelRequested, onEvent, removeAllChild, removeChild, removeChild, resetChildrenForRestart, resetForRestart, resetForRestart, setAutoCheckCancel, setAutoListenCancel, setAutoResetChildren, setBlackboard, setCancelled, setCancelToken, setChild, setCompleted, setControl, setControlData, setDisableDelayNotify, setEnterFrame, setExitFrame, setFailed, setFlags, setGuard, setGuardFailed, setPrevStatus, setSharedProps, setSlowStart, setSuccess, stop, stop, stopRunningChildren, template_checkGuard, template_execute, template_runChild, template_runChildDirectly, template_runHook, template_runHookDirectly, tryLock, unlock, unsetControl
-
构造器详细资料
-
ChangeStateTask
public ChangeStateTask() -
ChangeStateTask
-
-
方法详细资料
-
execute
protected void execute()从类复制的说明:TaskTask的心跳方法,在Task进入完成状态之前会反复执行。 1.可以根据Task.isExecuteTriggeredByEnter()判断是否是与Task.enter(int)连续执行的。 2.运行中可通过Task.setSuccess()、Task.setFailed(int)()}、Task.setCancelled()将自己更新为完成状态。 3.不建议直接调用该方法,而是通过模板方法运行。 -
onEventImpl
从类复制的说明:Task对于控制节点,通常将事件派发给约定的子节点或钩子节点。 对于叶子节点,通常自身处理事件。 注意: 1.转发事件时应该调用子节点的Task.onEvent(Object)方法 2.在AI这样的领域中,建议将事件转化为信息存储在Task或黑板中,而不是尝试立即做出反应。 3.Task.isExecuting()方法很重要- 指定者:
onEventImpl在类中Task<T>
-
getNextStateGuid
-
setNextStateGuid
-
getNextState
-
setNextState
-
getStateProps
-
setStateProps
-
getMachineName
-
setMachineName
-
getDelayMode
public int getDelayMode() -
setDelayMode
public void setDelayMode(int delayMode) -
getCurStateResult
public int getCurStateResult() -
setCurStateResult
public void setCurStateResult(int curStateResult)
-