diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-12-04 17:32:05 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-12-04 17:32:05 +0200 |
| commit | f97ee1d7c41e07296b6c31b9b85aa299805ba2f1 (patch) | |
| tree | b2276e82bb73544f6dd0d3853f81ed9a6fe6e80e /room_test3.tscn | |
| parent | 6686bf1a7a6e81b30c8482cc1d2856f1401f4531 (diff) | |
Add test NPC
Diffstat (limited to 'room_test3.tscn')
| -rw-r--r-- | room_test3.tscn | 68 |
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"] |
