Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
**/*.import
export.cfg
export_presets.cfg
*.uid

# Mono-specific ignores
.mono/
Expand All @@ -17,5 +18,9 @@ reports/
*.exp
*.lib
*.obj
*.os

.vs

compile_commands.json

.vs
8 changes: 4 additions & 4 deletions addons/beehave/beehave.gdextension
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ windows.release.x86_64 = "res://addons/beehave/libs/windows/beehave.windows.temp
macos.editor = "res://addons/beehave/libs/macos/beehave.macos.editor.framework"
macos.debug = "res://addons/beehave/libs/macos/beehave.macos.template_debug.framework"
macos.release = "res://addons/beehave/libs/macos/beehave.macos.template_release.framework"
linux.editor.x86_64 = "res://addons/beehave/libs/linux/beehave.linux.editor.x86_64.so"
linux.debug.x86_64 = "res://addons/beehave/libs/linux/beehave.linux.template_debug.x86_64.so"
linux.release.x86_64 = "res://addons/beehave/libs/linux/beehave.linux.template_release.x86_64.so"
linux.editor.x86_64 = "res://addons/beehave/libs/linux/libbeehave.linux.editor.x86_64.so"
linux.debug.x86_64 = "res://addons/beehave/libs/linux/libbeehave.linux.template_debug.x86_64.so"
linux.release.x86_64 = "res://addons/beehave/libs/linux/libbeehave.linux.template_release.x86_64.so"
android.debug.x86_64 = "res://addons/beehave/libs/android/x86_64/beehave.android.template_debug.x86_64.so"
android.release.x86_64 = "res://addons/beehave/libs/android/x86_64/beehave.android.template_release.x86_64.so"
android.debug.arm64 = "res://addons/beehave/libs/android/arm64/beehave.android.template_debug.arm64.so"
Expand Down Expand Up @@ -49,4 +49,4 @@ BeehaveCondition = "res://addons/beehave/icons/condition.svg"
BeehaveBlackboardCompare = "res://addons/beehave/icons/condition.svg"
BeehaveBlackboardErase = "res://addons/beehave/icons/action.svg"
BeehaveBlackboardHas = "res://addons/beehave/icons/condition.svg"
BeehaveBlackboardSet = "res://addons/beehave/icons/action.svg"
BeehaveBlackboardSet = "res://addons/beehave/icons/action.svg"
1 change: 1 addition & 0 deletions examples/actions/SetModulateColor.gd
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
extends BeehaveAction
class_name SetModulateColor

@export var modulate_color:Color = Color.WHITE
@export var interpolation_time:float = 3.0
Expand Down
120 changes: 56 additions & 64 deletions examples/beehave_test_scene.tscn
Original file line number Diff line number Diff line change
@@ -1,121 +1,113 @@
[gd_scene load_steps=12 format=3 uid="uid://dxkotdttpvmb0"]
[gd_scene format=3 uid="uid://dxkotdttpvmb0"]

[ext_resource type="Script" path="res://examples/beehave_test_scene.gd" id="1_18xg1"]
[ext_resource type="Script" uid="uid://cqgc503fsrp33" path="res://examples/beehave_test_scene.gd" id="1_18xg1"]
[ext_resource type="Texture2D" uid="uid://uq5muso23nn5" path="res://splash.png" id="2_2q57p"]
[ext_resource type="Script" path="res://examples/ColorChangingSprite.gd" id="3_shmq8"]
[ext_resource type="Script" path="res://addons/beehave/nodes/beehave_tree.gd" id="4_yb1gg"]
[ext_resource type="Script" path="res://addons/beehave/nodes/composites/selector_reactive.gd" id="5_l2xef"]
[ext_resource type="Script" path="res://addons/beehave/nodes/composites/sequence.gd" id="6_jtsdg"]
[ext_resource type="PackedScene" uid="uid://dl8hr0kerrxsv" path="res://examples/conditions/HasPositivePosition.tscn" id="7_iqb0a"]
[ext_resource type="PackedScene" uid="uid://c3msbcyat8v0n" path="res://examples/actions/SetModulateColor.tscn" id="8_0v48s"]
[ext_resource type="PackedScene" uid="uid://dgbwmcsll3o7t" path="res://examples/conditions/HasNegativePosition.tscn" id="9_x8ohm"]
[ext_resource type="Script" path="res://addons/beehave/blackboard.gd" id="10_y2p03"]
[ext_resource type="Script" uid="uid://kmih8x2f3e2r" path="res://examples/ColorChangingSprite.gd" id="3_shmq8"]
[ext_resource type="Script" uid="uid://bh3kb1mtim2qu" path="res://examples/conditions/HasPositivePosition.gd" id="4_bhsh2"]
[ext_resource type="Script" uid="uid://d4kwef0pab0tk" path="res://examples/actions/SetModulateColor.gd" id="5_1pqnv"]
[ext_resource type="Script" uid="uid://v03com5lqja8" path="res://examples/conditions/HasNegativePosition.gd" id="6_vt6vy"]

[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_atdvc"]
load_path = "res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"

[node name="BeehaveTestScene" type="Node2D"]
[node name="BeehaveTestScene" type="Node2D" unique_id=560705368]
script = ExtResource("1_18xg1")

[node name="Background" type="Sprite2D" parent="."]
[node name="Background" type="Sprite2D" parent="." unique_id=1746992477]
modulate = Color(0.882353, 0.882353, 0.882353, 0.141176)
position = Vector2(32, 46)
scale = Vector2(2.63487, 2.57664)
texture = ExtResource("2_2q57p")

[node name="ColorChangingSprite" type="Sprite2D" parent="."]
[node name="ColorChangingSprite" type="Sprite2D" parent="." unique_id=1046372162]
scale = Vector2(0.1, 0.1)
texture = SubResource("CompressedTexture2D_atdvc")
script = ExtResource("3_shmq8")

[node name="BeehaveTree" type="Node" parent="ColorChangingSprite" node_paths=PackedStringArray("blackboard", "actor")]
unique_name_in_owner = true
script = ExtResource("4_yb1gg")
blackboard = NodePath("../../Blackboard")
custom_monitor = true
[node name="BeehaveTree" type="BeehaveTree" parent="ColorChangingSprite" unique_id=607447702 node_paths=PackedStringArray("actor")]
actor = NodePath("..")
unique_name_in_owner = true

[node name="SelectorComposite" type="Node" parent="ColorChangingSprite/BeehaveTree"]
script = ExtResource("5_l2xef")
[node name="SelectorComposite" type="BeehaveSelectorReactive" parent="ColorChangingSprite/BeehaveTree" unique_id=1687509923]

[node name="SequenceComposite" type="Node" parent="ColorChangingSprite/BeehaveTree/SelectorComposite"]
script = ExtResource("6_jtsdg")
[node name="SequenceComposite" type="BeehaveSequence" parent="ColorChangingSprite/BeehaveTree/SelectorComposite" unique_id=1998873725]

[node name="HasPositivePosition" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite" instance=ExtResource("7_iqb0a")]
[node name="HasPositivePosition" type="BeehaveCondition" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite" unique_id=2037246015]
script = ExtResource("4_bhsh2")
metadata/_custom_type_script = "uid://bh3kb1mtim2qu"

[node name="SetModulateColor" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor2" type="BeehaveAction" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite" unique_id=879895773]
script = ExtResource("5_1pqnv")
modulate_color = Color(1, 0, 0, 1)
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="SequenceComposite2" type="Node" parent="ColorChangingSprite/BeehaveTree/SelectorComposite"]
script = ExtResource("6_jtsdg")
[node name="SequenceComposite2" type="BeehaveSequence" parent="ColorChangingSprite/BeehaveTree/SelectorComposite" unique_id=977088190]

[node name="HasNegativePosition" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite2" instance=ExtResource("9_x8ohm")]
[node name="HasNegativePosition" type="BeehaveCondition" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite2" unique_id=1665871736]
script = ExtResource("6_vt6vy")
metadata/_custom_type_script = "uid://v03com5lqja8"

[node name="SetModulateColor" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite2" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor" type="BeehaveAction" parent="ColorChangingSprite/BeehaveTree/SelectorComposite/SequenceComposite2" unique_id=69888968]
script = ExtResource("5_1pqnv")
modulate_color = Color(0, 0, 1, 1)
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="SetModulateColor" parent="ColorChangingSprite/BeehaveTree/SelectorComposite" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor2" type="BeehaveAction" parent="ColorChangingSprite/BeehaveTree/SelectorComposite" unique_id=67563690]
script = ExtResource("5_1pqnv")
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="Camera2D" type="Camera2D" parent="ColorChangingSprite"]
[node name="Camera2D" type="Camera2D" parent="ColorChangingSprite" unique_id=1056266686]

[node name="Blackboard" type="Node" parent="."]
script = ExtResource("10_y2p03")
blackboard = {
"key": 15.3
}
[node name="Blackboard" type="BeehaveBlackboard" parent="." unique_id=1665191872]

[node name="AnotherSprite" type="Sprite2D" parent="."]
[node name="AnotherSprite" type="Sprite2D" parent="." unique_id=2129326182]
position = Vector2(182, 180)
scale = Vector2(0.1, 0.1)
texture = SubResource("CompressedTexture2D_atdvc")

[node name="AnotherTree" type="Node" parent="AnotherSprite" node_paths=PackedStringArray("blackboard", "actor")]
script = ExtResource("4_yb1gg")
blackboard = NodePath("../../Blackboard")
custom_monitor = null
[node name="AnotherTree" type="BeehaveTree" parent="AnotherSprite" unique_id=1497505130 node_paths=PackedStringArray("actor")]
actor = NodePath("..")

[node name="SelectorComposite" type="Node" parent="AnotherSprite/AnotherTree"]
script = ExtResource("5_l2xef")
[node name="SelectorComposite" type="BeehaveSelectorReactive" parent="AnotherSprite/AnotherTree" unique_id=759015823]

[node name="SequenceComposite" type="Node" parent="AnotherSprite/AnotherTree/SelectorComposite"]
script = ExtResource("6_jtsdg")
[node name="SequenceComposite" type="BeehaveSequence" parent="AnotherSprite/AnotherTree/SelectorComposite" unique_id=727288477]

[node name="HasPositivePosition" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite" instance=ExtResource("7_iqb0a")]
[node name="HasPositivePosition" type="BeehaveCondition" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite" unique_id=1117775728]
script = ExtResource("4_bhsh2")
metadata/_custom_type_script = "uid://bh3kb1mtim2qu"

[node name="SetModulateColor" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor" type="BeehaveAction" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite" unique_id=2031971791]
script = ExtResource("5_1pqnv")
modulate_color = Color(1, 0, 0, 1)
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="SequenceComposite2" type="Node" parent="AnotherSprite/AnotherTree/SelectorComposite"]
script = ExtResource("6_jtsdg")

[node name="HasNegativePosition" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2" instance=ExtResource("9_x8ohm")]

[node name="SetModulateColor" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2" instance=ExtResource("8_0v48s")]
modulate_color = Color(0, 0, 1, 1)

[node name="SequenceComposite2" type="Node" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2"]
script = ExtResource("6_jtsdg")
[node name="SequenceComposite2" type="BeehaveSequence" parent="AnotherSprite/AnotherTree/SelectorComposite" unique_id=130856828]

[node name="HasNegativePosition" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2/SequenceComposite2" instance=ExtResource("9_x8ohm")]
[node name="HasNegativePosition" type="BeehaveCondition" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2" unique_id=972076140]
script = ExtResource("6_vt6vy")
metadata/_custom_type_script = "uid://v03com5lqja8"

[node name="SetModulateColor" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2/SequenceComposite2" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor" type="BeehaveAction" parent="AnotherSprite/AnotherTree/SelectorComposite/SequenceComposite2" unique_id=489871916]
script = ExtResource("5_1pqnv")
modulate_color = Color(0, 0, 1, 1)
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="SetModulateColor" parent="AnotherSprite/AnotherTree/SelectorComposite" instance=ExtResource("8_0v48s")]
[node name="SetModulateColor2" type="BeehaveAction" parent="AnotherSprite/AnotherTree/SelectorComposite" unique_id=340632982]
script = ExtResource("5_1pqnv")
metadata/_custom_type_script = "uid://d4kwef0pab0tk"

[node name="Camera2D" type="Camera2D" parent="AnotherSprite"]
[node name="Camera2D" type="Camera2D" parent="AnotherSprite" unique_id=1918727590]

[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1853726991]

[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer"]
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer" unique_id=578344731]
offset_right = 40.0
offset_bottom = 40.0

[node name="ConditionLabel" type="Label" parent="CanvasLayer/VBoxContainer"]
[node name="ConditionLabel" type="Label" parent="CanvasLayer/VBoxContainer" unique_id=956099435]
unique_name_in_owner = true
layout_mode = 2

[node name="ActionLabel" type="Label" parent="CanvasLayer/VBoxContainer"]
[node name="ActionLabel" type="Label" parent="CanvasLayer/VBoxContainer" unique_id=738666551]
unique_name_in_owner = true
layout_mode = 2
6 changes: 3 additions & 3 deletions examples/conditions/HasNegativePosition.gd
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
extends ConditionLeaf
extends BeehaveCondition
class_name HasNegativePosition


func tick(context: BeehaveContext) -> int:
if actor.position.x < 0.0 and actor.position.y < 0.0:
if context.actor.position.x < 0.0 and context.actor.position.y < 0.0:
return SUCCESS
else:
return FAILURE

7 changes: 3 additions & 4 deletions examples/conditions/HasPositivePosition.gd
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
class_name HasPositivePosition extends ConditionLeaf

extends BeehaveCondition
class_name HasPositivePosition

func tick(context: BeehaveContext) -> int:
if actor.position.x > 0.0 and actor.position.y > 0.0:
if context.actor.position.x > 0.0 and context.actor.position.y > 0.0:
return SUCCESS
else:
return FAILURE

2 changes: 1 addition & 1 deletion test/nodes/composites/selector_random_test.gd
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const __count_up_action = "res://test/actions/count_up_action.gd"
const RANDOM_SEED = 123

var tree: BeehaveTree
var selector: SelectorRandomComposite
var selector: BeehaveSelectorRandom
var action1: BeehaveAction
var action2: BeehaveAction
var actor: Node
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,3 @@ func set_weights(common: int, uncommon: int, rare: int, extraordinary: int):
selector.set("Weights/Uncommon", uncommon)
selector.set("Weights/Rare", rare)
selector.set("Weights/Extraordinary", extraordinary)

Loading