generated from SGDA/GodotExampleProject
feat: interactibles now emit signals and are parametrable through text and ids
This commit is contained in:
@ -40,6 +40,7 @@ enabled=PackedStringArray("res://addons/godot_state_charts/plugin.cfg", "res://a
|
|||||||
[gui]
|
[gui]
|
||||||
|
|
||||||
theme/custom="res://template/resources/themes/gravity.tres"
|
theme/custom="res://template/resources/themes/gravity.tres"
|
||||||
|
theme/custom_font="uid://detctsm8oy251"
|
||||||
|
|
||||||
[internationalization]
|
[internationalization]
|
||||||
|
|
||||||
|
@ -1,17 +1,35 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
class_name Interactible
|
class_name Interactible
|
||||||
|
|
||||||
@export_file("*.tscn") var scene_to_trigger : String
|
# @export_file("*.tscn") var scene_to_trigger: String
|
||||||
|
@export var message: String
|
||||||
|
@export var event: String
|
||||||
|
|
||||||
|
signal event_triggered(event_id: String)
|
||||||
|
|
||||||
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
@onready var confirm_panel: Panel = %ConfirmPanel
|
||||||
|
@onready var message_box: Label = %MessageBox
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
rich_text_label.visible = false
|
rich_text_label.visible = false
|
||||||
|
confirm_panel.visible = false
|
||||||
|
message_box.text = message.to_upper()
|
||||||
|
|
||||||
func _on_body_entered(body: Node2D) -> void:
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
rich_text_label.visible = true
|
rich_text_label.visible = true
|
||||||
|
|
||||||
func _on_body_exited(body: Node2D) -> void:
|
func _on_body_exited(body: Node2D) -> void:
|
||||||
rich_text_label.visible = false
|
rich_text_label.visible = false
|
||||||
|
confirm_panel.visible = false
|
||||||
|
|
||||||
|
func show_confirm():
|
||||||
|
confirm_panel.visible = true
|
||||||
|
|
||||||
|
func _on_confirm_button_pressed() -> void:
|
||||||
|
confirm_panel.visible = false
|
||||||
|
event_triggered.emit(event)
|
||||||
|
|
||||||
|
func _on_cancel_button_pressed() -> void:
|
||||||
|
confirm_panel.visible = false
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://cjo7jm55bkqk3"]
|
[gd_scene load_steps=5 format=3 uid="uid://cjo7jm55bkqk3"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dl18owt8pb11r" path="res://scenes/interactibles/interactible.gd" id="1_7dp4u"]
|
[ext_resource type="Script" uid="uid://dl18owt8pb11r" path="res://scenes/interactibles/interactible.gd" id="1_7dp4u"]
|
||||||
[ext_resource type="FontFile" uid="uid://detctsm8oy251" path="res://assets/PansyHand/pansyhand.ttf" id="2_u3pc4"]
|
[ext_resource type="FontFile" uid="uid://detctsm8oy251" path="res://assets/PansyHand/pansyhand.ttf" id="2_u3pc4"]
|
||||||
|
[ext_resource type="Script" uid="uid://1nf36h0gms3q" path="res://addons/maaacks_menus_template/base/scripts/capture_focus.gd" id="3_dyo5s"]
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_oyfc1"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_oyfc1"]
|
||||||
radius = 20.0
|
radius = 20.0
|
||||||
@ -23,5 +24,70 @@ offset_bottom = 23.0
|
|||||||
theme_override_fonts/normal_font = ExtResource("2_u3pc4")
|
theme_override_fonts/normal_font = ExtResource("2_u3pc4")
|
||||||
text = "INTERACT"
|
text = "INTERACT"
|
||||||
|
|
||||||
|
[node name="CenterContainer" type="CenterContainer" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -140.0
|
||||||
|
offset_top = -151.0
|
||||||
|
offset_right = 140.0
|
||||||
|
offset_bottom = -31.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
mouse_filter = 2
|
||||||
|
|
||||||
|
[node name="ConfirmPanel" type="Panel" parent="CenterContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
custom_minimum_size = Vector2(280, 120)
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/ConfirmPanel"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="MessageBox" type="Label" parent="CenterContainer/ConfirmPanel/VBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "ENTRER DANS LA POSTE ?"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="CenterContainer" type="CenterContainer" parent="CenterContainer/ConfirmPanel/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/ConfirmPanel/VBoxContainer/CenterContainer"]
|
||||||
|
custom_minimum_size = Vector2(256, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/separation = 16
|
||||||
|
script = ExtResource("3_dyo5s")
|
||||||
|
|
||||||
|
[node name="ConfirmButton" type="Button" parent="CenterContainer/ConfirmPanel/VBoxContainer/CenterContainer/HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
text = "FUCK YES"
|
||||||
|
|
||||||
|
[node name="CancelButton" type="Button" parent="CenterContainer/ConfirmPanel/VBoxContainer/CenterContainer/HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
text = "OH HELL NAH"
|
||||||
|
|
||||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
||||||
|
[connection signal="pressed" from="CenterContainer/ConfirmPanel/VBoxContainer/CenterContainer/HBoxContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
|
||||||
|
[connection signal="pressed" from="CenterContainer/ConfirmPanel/VBoxContainer/CenterContainer/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]
|
||||||
|
@ -11,3 +11,7 @@ func _ready() -> void:
|
|||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_door_event_triggered(event_id: String) -> void:
|
||||||
|
print(event_id)
|
||||||
|
@ -736,17 +736,10 @@ tile_set = SubResource("TileSet_tefeu")
|
|||||||
tile_map_data = PackedByteArray("AAAXAAcAAAAJAAcAAAAXAAgAAAAJAAgAAAAYAAcAAAAKAAcAAAAWAAYAAAAIAAYAAAAWAAcAAAAIAAcAAAAWAAgAAAAIAAgAAAAXAAYAAAAJAAYAAAAYAAYAAAAKAAYAAAAYAAgAAAAKAAgAAAAaAAQAAAAOAAgAAAAUAAQAAAAOAAgAAAAUAAoAAAAOAAgAAAAaAAoAAAAOAAgAAAAcAAYAAAAIAAYAAAAcAAcAAAAIAAcAAAAcAAgAAAAIAAgAAAAdAAYAAAAJAAYAAAAdAAcAAAAJAAcAAAAdAAgAAAAJAAgAAAAeAAYAAAAKAAYAAAAeAAcAAAAKAAcAAAAeAAgAAAAKAAgAAAAgAAoAAAAOAAgAAAAgAAQAAAAOAAgAAAA=")
|
tile_map_data = PackedByteArray("AAAXAAcAAAAJAAcAAAAXAAgAAAAJAAgAAAAYAAcAAAAKAAcAAAAWAAYAAAAIAAYAAAAWAAcAAAAIAAcAAAAWAAgAAAAIAAgAAAAXAAYAAAAJAAYAAAAYAAYAAAAKAAYAAAAYAAgAAAAKAAgAAAAaAAQAAAAOAAgAAAAUAAQAAAAOAAgAAAAUAAoAAAAOAAgAAAAaAAoAAAAOAAgAAAAcAAYAAAAIAAYAAAAcAAcAAAAIAAcAAAAcAAgAAAAIAAgAAAAdAAYAAAAJAAYAAAAdAAcAAAAJAAcAAAAdAAgAAAAJAAgAAAAeAAYAAAAKAAYAAAAeAAcAAAAKAAcAAAAeAAgAAAAKAAgAAAAgAAoAAAAOAAgAAAAgAAQAAAAOAAgAAAA=")
|
||||||
tile_set = SubResource("TileSet_tefeu")
|
tile_set = SubResource("TileSet_tefeu")
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("1_o5qli")]
|
|
||||||
position = Vector2(320, 202)
|
|
||||||
walk_speed = 100.0
|
|
||||||
|
|
||||||
[node name="DecoOverlay" type="TileMapLayer" parent="."]
|
|
||||||
tile_map_data = PackedByteArray("AAAXAAcAAAAJAAcAAAAXAAgAAAAJAAgAAAAYAAcAAAAKAAcAAAAWAAYAAAAIAAYAAAAWAAcAAAAIAAcAAAAWAAgAAAAIAAgAAAAXAAYAAAAJAAYAAAAYAAYAAAAKAAYAAAAYAAgAAAAKAAgAAAAaAAQAAAAOAAgAAAAUAAQAAAAOAAgAAAAUAAoAAAAOAAgAAAAaAAoAAAAOAAgAAAAcAAYAAAAIAAYAAAAcAAcAAAAIAAcAAAAcAAgAAAAIAAgAAAAdAAYAAAAJAAYAAAAdAAcAAAAJAAcAAAAdAAgAAAAJAAgAAAAeAAYAAAAKAAYAAAAeAAcAAAAKAAcAAAAeAAgAAAAKAAgAAAAgAAoAAAAOAAgAAAAgAAQAAAAOAAgAAAATAAUAAAAQAAgAAAATAAYAAAAQAAkAAAATAAcAAAAQAAgAAAATAAgAAAAQAAkAAAAaAAUAAAAQAAgAAAAaAAYAAAAQAAkAAAAaAAcAAAAQAAgAAAAaAAgAAAAQAAkAAAAgAAUAAAAQAAgAAAAgAAYAAAAQAAkAAAAgAAcAAAAQAAgAAAAgAAgAAAAQAAkAAAA=")
|
|
||||||
tile_set = SubResource("TileSet_tefeu")
|
|
||||||
|
|
||||||
[node name="WrongDoor" parent="." instance=ExtResource("5_tefeu")]
|
[node name="WrongDoor" parent="." instance=ExtResource("5_tefeu")]
|
||||||
position = Vector2(191, 104)
|
position = Vector2(191, 104)
|
||||||
scene_to_trigger = "uid://domqqvcqatme5"
|
message = "entrer dans la poste ?"
|
||||||
|
event = "wrong"
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="WrongDoor"]
|
[node name="Sprite2D" type="Sprite2D" parent="WrongDoor"]
|
||||||
texture = ExtResource("5_tbgi4")
|
texture = ExtResource("5_tbgi4")
|
||||||
@ -755,9 +748,21 @@ region_rect = Rect2(238, 170, 16, 16)
|
|||||||
|
|
||||||
[node name="RightDoor" parent="." instance=ExtResource("5_tefeu")]
|
[node name="RightDoor" parent="." instance=ExtResource("5_tefeu")]
|
||||||
position = Vector2(424, 8)
|
position = Vector2(424, 8)
|
||||||
scene_to_trigger = "uid://bhhphcagggc1"
|
message = "Entrer dans l'hotel ?"
|
||||||
|
event = "right"
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="RightDoor"]
|
[node name="Sprite2D" type="Sprite2D" parent="RightDoor"]
|
||||||
texture = ExtResource("5_tbgi4")
|
texture = ExtResource("5_tbgi4")
|
||||||
region_enabled = true
|
region_enabled = true
|
||||||
region_rect = Rect2(238, 170, 16, 16)
|
region_rect = Rect2(238, 170, 16, 16)
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("1_o5qli")]
|
||||||
|
position = Vector2(320, 202)
|
||||||
|
walk_speed = 100.0
|
||||||
|
|
||||||
|
[node name="DecoOverlay" type="TileMapLayer" parent="."]
|
||||||
|
tile_map_data = PackedByteArray("AAAXAAcAAAAJAAcAAAAXAAgAAAAJAAgAAAAYAAcAAAAKAAcAAAAWAAYAAAAIAAYAAAAWAAcAAAAIAAcAAAAWAAgAAAAIAAgAAAAXAAYAAAAJAAYAAAAYAAYAAAAKAAYAAAAYAAgAAAAKAAgAAAAaAAQAAAAOAAgAAAAUAAQAAAAOAAgAAAAUAAoAAAAOAAgAAAAaAAoAAAAOAAgAAAAcAAYAAAAIAAYAAAAcAAcAAAAIAAcAAAAcAAgAAAAIAAgAAAAdAAYAAAAJAAYAAAAdAAcAAAAJAAcAAAAdAAgAAAAJAAgAAAAeAAYAAAAKAAYAAAAeAAcAAAAKAAcAAAAeAAgAAAAKAAgAAAAgAAoAAAAOAAgAAAAgAAQAAAAOAAgAAAATAAUAAAAQAAgAAAATAAYAAAAQAAkAAAATAAcAAAAQAAgAAAATAAgAAAAQAAkAAAAaAAUAAAAQAAgAAAAaAAYAAAAQAAkAAAAaAAcAAAAQAAgAAAAaAAgAAAAQAAkAAAAgAAUAAAAQAAgAAAAgAAYAAAAQAAkAAAAgAAcAAAAQAAgAAAAgAAgAAAAQAAkAAAA=")
|
||||||
|
tile_set = SubResource("TileSet_tefeu")
|
||||||
|
|
||||||
|
[connection signal="event_triggered" from="WrongDoor" to="." method="_on_door_event_triggered"]
|
||||||
|
[connection signal="event_triggered" from="RightDoor" to="." method="_on_door_event_triggered"]
|
||||||
|
@ -16,7 +16,7 @@ func _ready() -> void:
|
|||||||
func on_interact_triggered() -> void:
|
func on_interact_triggered() -> void:
|
||||||
if current_interactible == null:
|
if current_interactible == null:
|
||||||
return
|
return
|
||||||
SceneLoader.load_scene(current_interactible.scene_to_trigger)
|
current_interactible.show_confirm()
|
||||||
|
|
||||||
|
|
||||||
func _on_interactible_found(area: Area2D) -> void:
|
func _on_interactible_found(area: Area2D) -> void:
|
||||||
|
@ -165,7 +165,6 @@ motion_mode = 1
|
|||||||
script = ExtResource("1_dovo2")
|
script = ExtResource("1_dovo2")
|
||||||
move = ExtResource("2_gmlin")
|
move = ExtResource("2_gmlin")
|
||||||
interact = ExtResource("3_lvxji")
|
interact = ExtResource("3_lvxji")
|
||||||
walk_speed = null
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2(0, 2)
|
position = Vector2(0, 2)
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://domqqvcqatme5"]
|
[gd_scene load_steps=5 format=3 uid="uid://domqqvcqatme5"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" path="res://template/scenes/credits/scrolling_credits.tscn" id="1_dqbsw"]
|
[ext_resource type="PackedScene" uid="uid://bhhphcagggc1" path="res://template/scenes/credits/scrolling_credits.tscn" id="1_dqbsw"]
|
||||||
[ext_resource type="Script" path="res://template/scenes/end_credits/end_credits.gd" id="2_jh5yp"]
|
[ext_resource type="Script" uid="uid://din3un0r6wp1s" path="res://template/scenes/end_credits/end_credits.gd" id="2_jh5yp"]
|
||||||
[ext_resource type="PackedScene" path="res://addons/maaacks_menus_template/base/scenes/music_players/background_music_player.tscn" id="3_fichv"]
|
[ext_resource type="PackedScene" uid="uid://bkcsjsk2ciff" path="res://addons/maaacks_menus_template/base/scenes/music_players/background_music_player.tscn" id="3_fichv"]
|
||||||
[ext_resource type="Script" path="res://addons/maaacks_menus_template/base/scripts/capture_focus.gd" id="4_4bbwp"]
|
[ext_resource type="Script" uid="uid://1nf36h0gms3q" path="res://addons/maaacks_menus_template/base/scripts/capture_focus.gd" id="4_4bbwp"]
|
||||||
|
|
||||||
[node name="EndCredits" instance=ExtResource("1_dqbsw")]
|
[node name="EndCredits" instance=ExtResource("1_dqbsw")]
|
||||||
script = ExtResource("2_jh5yp")
|
script = ExtResource("2_jh5yp")
|
||||||
@ -11,6 +11,7 @@ main_menu_scene = "res://template/scenes/menus/main_menu/main_menu_with_animatio
|
|||||||
force_mouse_mode_visible = false
|
force_mouse_mode_visible = false
|
||||||
|
|
||||||
[node name="BackgroundMusicPlayer" parent="." index="0" instance=ExtResource("3_fichv")]
|
[node name="BackgroundMusicPlayer" parent="." index="0" instance=ExtResource("3_fichv")]
|
||||||
|
bus = &"Master"
|
||||||
|
|
||||||
[node name="BackgroundColor" type="ColorRect" parent="." index="1"]
|
[node name="BackgroundColor" type="ColorRect" parent="." index="1"]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
Reference in New Issue
Block a user