doc: Explain task anatomy
This commit is contained in:
parent
6e6e9985b2
commit
e8ae3e7b8f
|
@ -26,7 +26,44 @@ Behavior Trees handle conditional logic using condition tasks. These tasks check
|
||||||
|
|
||||||
Check out the `BTTask` class documentation in the editor, which provides the foundation for various building blocks of Behavior Trees.
|
Check out the `BTTask` class documentation in the editor, which provides the foundation for various building blocks of Behavior Trees.
|
||||||
|
|
||||||
## Custom task example
|
## Creating custom tasks in GDScript
|
||||||
|
|
||||||
|
>**🛈 Note:** You can add a script template to your project with "Misc → Create script template" menu option.
|
||||||
|
|
||||||
|
### Task anatomy
|
||||||
|
```
|
||||||
|
@tool
|
||||||
|
extends BTAction
|
||||||
|
|
||||||
|
# Task parameters.
|
||||||
|
@export var parameter1: float
|
||||||
|
@export var parameter2: Vector2
|
||||||
|
|
||||||
|
## Note: Each method declaration is optional.
|
||||||
|
## At minimum, you only need to define the "_tick" method.
|
||||||
|
|
||||||
|
# Called to generate a display name for the task.
|
||||||
|
func _generate_name() -> String:
|
||||||
|
return "MyTask"
|
||||||
|
|
||||||
|
# Called to initialize the task.
|
||||||
|
func _setup() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Called when task is entered.
|
||||||
|
func _enter() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Called when task is exited.
|
||||||
|
func _exit() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Called each time this task is ticked (aka executed).
|
||||||
|
func _tick(delta: float) -> Status:
|
||||||
|
return SUCCESS
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom task example
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
@tool
|
@tool
|
||||||
|
@ -51,7 +88,7 @@ func _generate_name() -> String:
|
||||||
LimboUtility.decorate_var(target_var)]
|
LimboUtility.decorate_var(target_var)]
|
||||||
|
|
||||||
|
|
||||||
# Called once to initialize the task.
|
# Called to initialize the task.
|
||||||
func _setup() -> void:
|
func _setup() -> void:
|
||||||
_min_distance_squared = distance_min * distance_min
|
_min_distance_squared = distance_min * distance_min
|
||||||
_max_distance_squared = distance_max * distance_max
|
_max_distance_squared = distance_max * distance_max
|
||||||
|
|
Loading…
Reference in New Issue