citylimits/examples/simple_ai_logic/lumberjack.tscn
Tony Bark c46d0e27e4 Removed state machine for behavior trees
- Added Font Awesome Support
2023-03-14 06:30:58 -04:00

167 lines
7.7 KiB
Text

[gd_scene load_steps=11 format=3 uid="uid://bl8kvanpmae2g"]
[ext_resource type="Script" path="res://examples/simple_ai_logic/lumberjack.gd" id="1_4c8nf"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/BTRoot.gd" id="2_hoy6d"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Composite/BTSelector.gd" id="3_5vl0m"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Composite/BTSequence.gd" id="4_c83di"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Decorators/BTInverter.gd" id="5_iaq0m"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Leaves/BTConditionCallable.gd" id="6_wov0v"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Leaves/BTActionBlackboardSet.gd" id="7_f8o6y"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Leaves/BTActionCallable.gd" id="8_mjt8i"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Decorators/BTFailure.gd" id="9_ojjv5"]
[ext_resource type="Script" path="res://addons/yet_another_behavior_tree/src/Nodes/Leaves/BTActionBlackboardDelete.gd" id="10_7bq5a"]
[node name="LumberJack" type="Node2D"]
script = ExtResource("1_4c8nf")
[node name="Shape" type="Node2D" parent="."]
[node name="Polygon2D" type="Polygon2D" parent="Shape"]
color = Color(0.54902, 0.0862745, 0.117647, 1)
polygon = PackedVector2Array(-2, -5, -2, -2, -1, -2, -1, 0, -4, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, -5, 5, 4, 5, 1, 0, 1, -2, 2, -2, 2, -5)
[node name="AI" type="Node" parent="."]
script = ExtResource("2_hoy6d")
actor_path = NodePath("..")
[node name="One Between" type="Node" parent="AI"]
script = ExtResource("3_5vl0m")
[node name="Idle To Warehouse" type="Node" parent="AI/One Between"]
script = ExtResource("4_c83di")
[node name="No Remaining Tree" type="Node" parent="AI/One Between/Idle To Warehouse"]
script = ExtResource("5_iaq0m")
[node name="At Least One Tree" type="Node" parent="AI/One Between/Idle To Warehouse/No Remaining Tree"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../..")
method_name = "has_remaining_trees"
[node name="Has No Log" type="Node" parent="AI/One Between/Idle To Warehouse"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../..")
method_name = "has_no_log"
[node name="Move To Nearest Warehouse" type="Node" parent="AI/One Between/Idle To Warehouse"]
script = ExtResource("4_c83di")
[node name="Get Nearest Warehouse" type="Node" parent="AI/One Between/Idle To Warehouse/Move To Nearest Warehouse"]
script = ExtResource("7_f8o6y")
blackboard_key = "nearest_warehouse"
expression = "actor.get_nearest_warehouse()"
can_overwrite_value = true
[node name="Move To Warehouse" type="Node" parent="AI/One Between/Idle To Warehouse/Move To Nearest Warehouse"]
script = ExtResource("8_mjt8i")
method_owner_path = NodePath("../../../../..")
method_name = "move_to"
method_arguments = Array[String](["delta", "blackboard.get_data(\"nearest_warehouse\")"])
[node name="Put Logs To Warehouse" type="Node" parent="AI/One Between"]
script = ExtResource("4_c83di")
[node name="One Between" type="Node" parent="AI/One Between/Put Logs To Warehouse"]
script = ExtResource("3_5vl0m")
[node name="Can NOT Carry More Logs" type="Node" parent="AI/One Between/Put Logs To Warehouse/One Between"]
script = ExtResource("5_iaq0m")
[node name="Can Cary More Logs" type="Node" parent="AI/One Between/Put Logs To Warehouse/One Between/Can NOT Carry More Logs"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../../..")
method_name = "can_carry_more_logs"
[node name="No Remaining Tree" type="Node" parent="AI/One Between/Put Logs To Warehouse/One Between"]
script = ExtResource("5_iaq0m")
[node name="At Least One Tree" type="Node" parent="AI/One Between/Put Logs To Warehouse/One Between/No Remaining Tree"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../../..")
method_name = "has_remaining_trees"
[node name="Move To Nearest Warehouse" type="Node" parent="AI/One Between/Put Logs To Warehouse"]
script = ExtResource("4_c83di")
[node name="Get Nearest Warehouse" type="Node" parent="AI/One Between/Put Logs To Warehouse/Move To Nearest Warehouse"]
script = ExtResource("7_f8o6y")
blackboard_key = "nearest_warehouse"
expression = "actor.get_nearest_warehouse()"
can_overwrite_value = true
[node name="Move To Warehouse" type="Node" parent="AI/One Between/Put Logs To Warehouse/Move To Nearest Warehouse"]
script = ExtResource("8_mjt8i")
method_owner_path = NodePath("../../../../..")
method_name = "move_to"
method_arguments = Array[String](["delta", "blackboard.get_data(\"nearest_warehouse\")"])
[node name="Drop Logs" type="Node" parent="AI/One Between/Put Logs To Warehouse"]
script = ExtResource("8_mjt8i")
method_owner_path = NodePath("../../../..")
method_name = "drop_logs_to_warehouse"
[node name="Get Log" type="Node" parent="AI/One Between"]
script = ExtResource("4_c83di")
[node name="Can Carry More Logs" type="Node" parent="AI/One Between/Get Log"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../..")
method_name = "can_carry_more_logs"
[node name="Move To Nearest Tree" type="Node" parent="AI/One Between/Get Log"]
script = ExtResource("4_c83di")
[node name="Has Remaning Trees" type="Node" parent="AI/One Between/Get Log/Move To Nearest Tree"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../..")
method_name = "has_remaining_trees"
[node name="Get Nearest Tree" type="Node" parent="AI/One Between/Get Log/Move To Nearest Tree"]
script = ExtResource("7_f8o6y")
blackboard_key = "nearest_tree"
expression = "actor.get_nearest_tree()"
[node name="Stop If Nearest Tree If Invalid" type="Node" parent="AI/One Between/Get Log"]
script = ExtResource("4_c83di")
[node name="OR" type="Node" parent="AI/One Between/Get Log/Stop If Nearest Tree If Invalid"]
script = ExtResource("3_5vl0m")
[node name="Tree Is Valid" type="Node" parent="AI/One Between/Get Log/Stop If Nearest Tree If Invalid/OR"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../../..")
method_name = "tree_is_valid"
method_arguments = Array[String](["blackboard.get_data(\"nearest_tree\")"])
[node name="Stop Because Tree Invalid" type="Node" parent="AI/One Between/Get Log/Stop If Nearest Tree If Invalid/OR"]
script = ExtResource("9_ojjv5")
[node name="Delete Nearest Tree Ref" type="Node" parent="AI/One Between/Get Log/Stop If Nearest Tree If Invalid/OR/Stop Because Tree Invalid"]
script = ExtResource("10_7bq5a")
blackboard_key = "nearest_tree"
[node name="Move To Tree" type="Node" parent="AI/One Between/Get Log"]
script = ExtResource("8_mjt8i")
method_owner_path = NodePath("../../../..")
method_name = "move_to"
method_arguments = Array[String](["delta", "blackboard.get_data(\"nearest_tree\")"])
[node name="Cut Tree" type="Node" parent="AI/One Between/Get Log"]
script = ExtResource("4_c83di")
[node name="Nearest Tree Is Valid" type="Node" parent="AI/One Between/Get Log/Cut Tree"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../..")
method_name = "tree_is_valid"
method_arguments = Array[String](["blackboard.get_data(\"nearest_tree\")"])
[node name="Can Carry More Logs" type="Node" parent="AI/One Between/Get Log/Cut Tree"]
script = ExtResource("6_wov0v")
method_owner_path = NodePath("../../../../..")
method_name = "can_carry_more_logs"
[node name="Cut Log From Tree" type="Node" parent="AI/One Between/Get Log/Cut Tree"]
script = ExtResource("8_mjt8i")
method_owner_path = NodePath("../../../../..")
method_name = "cut_log"
method_arguments = Array[String](["blackboard.get_data(\"nearest_tree\")"])