diff --git a/Characters/Meldewesen/Meldewesen.gd b/Characters/Meldewesen/Meldewesen.gd index 7d137f1..0fc790f 100644 --- a/Characters/Meldewesen/Meldewesen.gd +++ b/Characters/Meldewesen/Meldewesen.gd @@ -1,4 +1,4 @@ -extends KinematicBody +extends NPC export(NodePath) var _visibility_path: NodePath diff --git a/Characters/NPC.gd b/Characters/NPC.gd new file mode 100644 index 0000000..8f61c63 --- /dev/null +++ b/Characters/NPC.gd @@ -0,0 +1,2 @@ +extends KinematicBody +class_name NPC diff --git a/Characters/Util/PathNavigatorForKinematicBody.gd b/Characters/Util/PathNavigatorForNPC.gd similarity index 99% rename from Characters/Util/PathNavigatorForKinematicBody.gd rename to Characters/Util/PathNavigatorForNPC.gd index b2d9796..24fd7dd 100644 --- a/Characters/Util/PathNavigatorForKinematicBody.gd +++ b/Characters/Util/PathNavigatorForNPC.gd @@ -11,7 +11,7 @@ export(float) var speed = 8 export(NodePath) var body_nodepath var navigation: Navigation -var body: KinematicBody +var body: NPC # React to the NodeGroupNotifier of the Navigation diff --git a/Characters/Util/PathNavigatorForKinematicBody.tscn b/Characters/Util/PathNavigatorForNPC.tscn similarity index 73% rename from Characters/Util/PathNavigatorForKinematicBody.tscn rename to Characters/Util/PathNavigatorForNPC.tscn index 13021f2..a64f875 100644 --- a/Characters/Util/PathNavigatorForKinematicBody.tscn +++ b/Characters/Util/PathNavigatorForNPC.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://Characters/Util/PathNavigatorForKinematicBody.gd" type="Script" id=1] +[ext_resource path="res://Characters/Util/PathNavigatorForNPC.gd" type="Script" id=1] [sub_resource type="Curve3D" id=1] _data = { @@ -8,7 +8,7 @@ _data = { "tilts": PoolRealArray( 0, 0, 0, 0 ) } -[node name="PathNavigatorForKinematicBody" type="Path" groups=[ +[node name="PathNavigatorForNPC" type="Path" groups=[ "Navigator", ]] curve = SubResource( 1 ) diff --git a/Level/PathTestWorld.tscn b/Level/PathTestWorld.tscn index ed3726d..3d9fd29 100644 --- a/Level/PathTestWorld.tscn +++ b/Level/PathTestWorld.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=12 format=2] [ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1] -[ext_resource path="res://Characters/Util/PathNavigatorForKinematicBody.tscn" type="PackedScene" id=2] +[ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=2] [ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=3] [ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=4] @@ -74,11 +74,12 @@ shape = SubResource( 6 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) shape = SubResource( 7 ) -[node name="PathNavigatorForKinematicBody" parent="." instance=ExtResource( 2 )] +[node name="MeldewesenNavigator" parent="." instance=ExtResource( 2 )] speed = 3.0 -body_nodepath = NodePath("Meldewesen") +body_nodepath = NodePath("../MeldewesenNavigator/Meldewesen") -[node name="Meldewesen" parent="PathNavigatorForKinematicBody" instance=ExtResource( 3 )] +[node name="Meldewesen" parent="MeldewesenNavigator" instance=ExtResource( 3 )] +_visibility_path = NodePath("../../MeldewesenNavigator/Meldewesen/Visibility") [node name="NodeGroupNotifier" parent="." instance=ExtResource( 4 )] group_name = "Navigator" diff --git a/project.godot b/project.godot index f4683b4..a496b14 100644 --- a/project.godot +++ b/project.godot @@ -39,6 +39,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://Util/gs-logger-3.1-R3/gs_logger/message.gd" }, { +"base": "KinematicBody", +"class": "NPC", +"language": "GDScript", +"path": "res://Characters/NPC.gd" +}, { "base": "Layout", "class": "PatternLayout", "language": "GDScript", @@ -51,6 +56,7 @@ _global_script_class_icons={ "HtmlLayout": "", "Layout": "", "Message": "", +"NPC": "", "PatternLayout": "" }