cadastery/scripts/globals/consoler.gd

36 lines
677 B
GDScript

extends Node
signal message_sent(message: String)
const SERVER_CONSOLE_INPUT_PATH := "user://server_console_input"
const READING_INTERVAL: float = 10
var reading_timer: float = 0
func _process(delta: float) -> void:
if not Networker.is_dedicated or Referencer.chat == null:
return
reading_timer -= delta
if reading_timer > 0:
return
reading_timer = READING_INTERVAL
var file := FileAccess.open(SERVER_CONSOLE_INPUT_PATH, FileAccess.READ)
if not file:
return
var text := file.get_as_text()
if not text:
return
message_sent.emit(text)
file = FileAccess.open(SERVER_CONSOLE_INPUT_PATH, FileAccess.WRITE)
if not file:
return
file.store_string("")