aboutsummaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-27 22:07:11 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-27 22:07:19 +0200
commit46897ebdbe69145d6e9290c474c8ac426372226e (patch)
treee23e38de34c8c80f2b691228da201db828d09dac /client/game.gd
parent481ca4dc8d03d2e2b10fffbed5fa8ce58f7291bb (diff)
downloadhurrycurry-46897ebdbe69145d6e9290c474c8ac426372226e.tar
hurrycurry-46897ebdbe69145d6e9290c474c8ac426372226e.tar.bz2
hurrycurry-46897ebdbe69145d6e9290c474c8ac426372226e.tar.zst
Chat system messages
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd16
1 files changed, 13 insertions, 3 deletions
diff --git a/client/game.gd b/client/game.gd
index 020c43db..34040034 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -24,13 +24,12 @@ signal text_message(message: TextMessage)
signal update_tutorial_running(running: bool)
class TextMessage:
- var username: String
+ var username #: String
var color: Color
var text: String
var timeout_initial: float
var timeout_remaining
-
enum SpectatingMode {
CENTER,
FREE,
@@ -82,6 +81,11 @@ func _ready():
get_parent().replace_menu("res://gui/menus/error.tscn", [reason, menu.data])
)
mp.connect_to_url(menu.data)
+ text_message.connect(func(m):
+ text_message_history.push_back(m)
+ while text_message_history.size() > 64:
+ text_message_history.pop_front()
+ )
func handle_packet(p):
match p.type:
@@ -261,7 +265,6 @@ func handle_packet(p):
player.text_message(data)
text_message.emit(data)
- text_message_history.append(data)
elif "tile" in p.message:
push_error("TODO: tile message")
else:
@@ -369,6 +372,13 @@ func handle_packet(p):
_: push_error("Unrecognized packet type: %s" % p.type)
+func system_message(s: String):
+ var message = TextMessage.new()
+ message.text = s
+ message.color = Color.GOLD
+ message.timeout_remaining = 5.
+ text_message.emit(message)
+
func set_join_state(state: JoinState):
join_state = state
join_state_updated.emit(state)