summaryrefslogtreecommitdiffstats
path: root/room_test3.tscn
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-12-04 17:32:05 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-12-04 17:32:05 +0200
commitf97ee1d7c41e07296b6c31b9b85aa299805ba2f1 (patch)
treeb2276e82bb73544f6dd0d3853f81ed9a6fe6e80e /room_test3.tscn
parent6686bf1a7a6e81b30c8482cc1d2856f1401f4531 (diff)
Add test NPC
Diffstat (limited to 'room_test3.tscn')
-rw-r--r--room_test3.tscn68
1 files changed, 67 insertions, 1 deletions
diff --git a/room_test3.tscn b/room_test3.tscn
index 336f02a..f0573fb 100644
--- a/room_test3.tscn
+++ b/room_test3.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=11 format=4 uid="uid://3o7g1rxy06sb"]
+[gd_scene load_steps=15 format=4 uid="uid://3o7g1rxy06sb"]
[ext_resource type="Texture2D" uid="uid://dkek11j5dh6as" path="res://assets.untracked/kenney_1-bit-platformer-pack/Tiles/Default/tile_0338.png" id="1_pwspw"]
[ext_resource type="Script" uid="uid://cbhily4o7e2r3" path="res://room.gd" id="1_w1h0g"]
@@ -8,6 +8,8 @@
[ext_resource type="Script" uid="uid://b77ngd0fnqxi5" path="res://computer.gd" id="3_bml3v"]
[ext_resource type="PackedScene" uid="uid://dfyvkc2qlcdac" path="res://game_camera.tscn" id="3_w1h0g"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_i21us"]
+[ext_resource type="Texture2D" uid="uid://dwfeqystr0js4" path="res://assets.untracked/kenney_1-bit-platformer-pack/Tiles/Transparent/tile_0285.png" id="9_bplq6"]
+[ext_resource type="Texture2D" uid="uid://oiqxoxuexmgu" path="res://assets/kenney_1-bit-input-prompts-pixel-16/Tiles (Black)/tile_0000.png" id="10_rlnij"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bml3v"]
size = Vector2(7, 7)
@@ -18,6 +20,31 @@ _data = {
}
point_count = 6
+[sub_resource type="GDScript" id="GDScript_bplq6"]
+script/source = "extends Sprite2D
+
+var player: Player
+var tb
+
+func _on_player_entered(p: Player) -> void:
+ player = p
+ player.request_state_init()
+ tb = get_parent().get_node(\"TextBubble\")
+ tb.visible = true
+ tb.add_to_group(\"camera_target\")
+
+func _process(_delta: float) -> void:
+ if player and tb and tb.visible and Input.is_action_just_pressed(\"action\"):
+ tb.visible = false
+ tb.remove_from_group(\"camera_target\")
+ player.request_state_normal()
+ player = null
+ tb = null
+"
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlnij"]
+size = Vector2(49, 15.5)
+
[node name="RoomTest3" type="Node2D" groups=["debug_info"]]
process_mode = 1
script = ExtResource("1_w1h0g")
@@ -93,5 +120,44 @@ target_door = "DoorLeft"
[node name="ComputerPath" type="Path2D" parent="."]
curve = SubResource("Curve2D_bml3v")
+[node name="DialogueTestNPC" type="Sprite2D" parent="."]
+modulate = Color(0.30980393, 1, 1, 1)
+position = Vector2(-104, -56)
+texture = ExtResource("9_bplq6")
+script = SubResource("GDScript_bplq6")
+
+[node name="Area2D" type="Area2D" parent="DialogueTestNPC"]
+collision_layer = 32
+collision_mask = 2
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DialogueTestNPC/Area2D"]
+position = Vector2(1, 1.75)
+shape = SubResource("RectangleShape2D_rlnij")
+
+[node name="TextBubble" type="Node2D" parent="."]
+visible = false
+position = Vector2(-155, -116)
+
+[node name="ColorRect" type="ColorRect" parent="TextBubble"]
+offset_right = 40.0
+offset_bottom = 40.0
+scale = Vector2(1.3009955, 0.30328855)
+color = Color(1, 0.8980392, 0.7490196, 1)
+
+[node name="Label" type="Label" parent="TextBubble"]
+offset_left = 4.0
+offset_top = 3.0
+offset_right = 44.0
+offset_bottom = 26.0
+scale = Vector2(0.25, 0.25)
+theme_override_colors/font_color = Color(0, 0, 0, 1)
+text = "yo"
+
+[node name="Tile0000" type="Sprite2D" parent="TextBubble"]
+position = Vector2(45, 6)
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("10_rlnij")
+
[connection signal="body_entered" from="Computer1/Area2D" to="Computer1" method="_on_area_2d_body_entered"]
[connection signal="body_entered" from="Computer2/Area2D" to="Computer2" method="_on_area_2d_body_entered"]
+[connection signal="body_entered" from="DialogueTestNPC/Area2D" to="DialogueTestNPC" method="_on_player_entered"]