Client changes and tweaks
This commit is contained in:
37
client/scripts/systems/chatbox.gd
Normal file
37
client/scripts/systems/chatbox.gd
Normal file
@ -0,0 +1,37 @@
|
||||
extends Control
|
||||
|
||||
const MESSAGE_TIMEOUT : int = 17
|
||||
|
||||
var locking = false
|
||||
|
||||
func _ready():
|
||||
$"/root/NetworkManager".connect("chat_message_recieved", self, "_on_new_message")
|
||||
|
||||
func _on_new_message(message):
|
||||
print(message)
|
||||
var message_block : Label = Label.new()
|
||||
message_block.text = message
|
||||
var timer = Timer.new()
|
||||
timer.connect("timeout", message_block, "queue_free")
|
||||
message_block.add_child(timer)
|
||||
$Messages.add_child(message_block)
|
||||
timer.start(MESSAGE_TIMEOUT)
|
||||
|
||||
func _process(delta):
|
||||
|
||||
if $LineEdit.has_focus() != locking:
|
||||
locking = $LineEdit.has_focus()
|
||||
if locking:
|
||||
$"/root/ImportantEntities".main_player.lock_input()
|
||||
else:
|
||||
$"/root/ImportantEntities".main_player.unlock_input()
|
||||
|
||||
|
||||
if(Input.is_action_just_pressed("send_chat_message")):
|
||||
if $LineEdit.has_focus():
|
||||
if len($LineEdit.text) > 0:
|
||||
$"/root/NetworkManager".send_chat_message($LineEdit.text)
|
||||
$LineEdit.text = ""
|
||||
$LineEdit.release_focus()
|
||||
else:
|
||||
$LineEdit.grab_focus()
|
Reference in New Issue
Block a user