aboutsummaryrefslogtreecommitdiff
path: root/client/gui/overlays/chat.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-05 23:05:01 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-05 23:07:07 +0200
commit6efdec681466addf3c203640518bd8db122270db (patch)
treef81f15bb918dfa52e983727b7399153f8ce5a7c2 /client/gui/overlays/chat.gd
parent81deaf81c800900e30046cb927be1c9d91ae61b8 (diff)
downloadhurrycurry-6efdec681466addf3c203640518bd8db122270db.tar
hurrycurry-6efdec681466addf3c203640518bd8db122270db.tar.bz2
hurrycurry-6efdec681466addf3c203640518bd8db122270db.tar.zst
refactor scene tree of all overlays to be children of Overlays
Diffstat (limited to 'client/gui/overlays/chat.gd')
-rw-r--r--client/gui/overlays/chat.gd34
1 files changed, 34 insertions, 0 deletions
diff --git a/client/gui/overlays/chat.gd b/client/gui/overlays/chat.gd
new file mode 100644
index 00000000..676337a6
--- /dev/null
+++ b/client/gui/overlays/chat.gd
@@ -0,0 +1,34 @@
+# Hurry Curry! - a game about cooking
+# Copyright (C) 2025 Hurry Curry! contributors
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, version 3 of the License only.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+extends Control
+class_name ChatPreview
+
+const CHAT_MESSAGE_SCENE = preload("res://gui/components/message/chat_message.tscn")
+
+@onready var game: Game = $"../../Game" # TODO
+@onready var messages_container: VBoxContainer = $MarginContainer/ScrollContainer/PanelContainer/Messages
+
+func _ready():
+ game.text_message.connect(func(message: Game.TextMessage):
+ var chat_message: ChatMessage = CHAT_MESSAGE_SCENE.instantiate()
+ messages_container.add_child(chat_message)
+ chat_message.set_message(
+ message.username,
+ message.text,
+ message.color,
+ true,
+ message.timeout_remaining)
+ )