summaryrefslogtreecommitdiff
path: root/chat_window.gd
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-12-15 16:53:12 +0100
committerDaniel Weipert <git@mail.dweipert.de>2024-12-15 16:53:12 +0100
commit75793bd23d275d10d6a0bd8024a7e412b64557ce (patch)
treeeef8145a645a88c718a4004e3a5e5f8f7700fa47 /chat_window.gd
parenta14e88ff4d0d87841a44254e2bff1784da6e8b48 (diff)
next commit
Diffstat (limited to 'chat_window.gd')
-rw-r--r--chat_window.gd63
1 files changed, 0 insertions, 63 deletions
diff --git a/chat_window.gd b/chat_window.gd
deleted file mode 100644
index 640a257..0000000
--- a/chat_window.gd
+++ /dev/null
@@ -1,63 +0,0 @@
-extends PanelContainer
-
-
-@export var player_color: Color = Color8(255, 255, 255)
-
-
-func _ready() -> void:
- # clear test label
- %ChatWindow.remove_child(%ChatWindow.get_child(0))
-
- if Network.map_server:
- initialize()
-
-
-func initialize() -> void:
- Network.map_server.received_server_message.connect(_on_server_message_packet_received)
- Network.map_server.received_broadcast_formatted_message.connect(_on_broadcast_formatted_message_packet_received)
-
-
-func add_message(message: String, format: ChatMessageFormat):
- var label = Label.new()
- label.text = message
-
- if format.color:
- label.add_theme_color_override("font_color", format.color)
-
- if format.size:
- label.add_theme_font_size_override("font_size", format.size)
-
- %ChatWindow.add_child(label)
-
- await get_tree().process_frame # necessary to reach bottom correctly
- %ScrollContainer.scroll_vertical = %ScrollContainer.get_v_scroll_bar().max_value
-
-
-func _on_line_edit_text_submitted(new_text: String) -> void:
- %LineEdit.text = ""
-
- var send_chat_message_packet := SendChatMessagePacket.new()
- send_chat_message_packet.message = "%s : %s" % [Client.character.name, new_text]
- Network.map_server.send(send_chat_message_packet)
-
-
-func _on_server_message_packet_received(packet: ServerMessagePacket):
- var format := ChatMessageFormat.new()
-
- if packet.message.begins_with(Client.character.name):
- format.color = player_color
-
- add_message(packet.message, format)
-
-
-func _on_broadcast_formatted_message_packet_received(packet: BroadcastFormattedMessagePacket):
- var format := ChatMessageFormat.new()
- format.color = packet.get_font_color()
- format.size = packet.font_size
-
- add_message(packet.message, format)
-
-
-class ChatMessageFormat extends Resource:
- var color: Color
- var size: int