add server console input
This commit is contained in:
parent
809da74969
commit
ed41775543
@ -28,6 +28,7 @@ Networker="*res://scripts/globals/networker.gd"
|
|||||||
Cursorer="*res://scripts/globals/cursorer.gd"
|
Cursorer="*res://scripts/globals/cursorer.gd"
|
||||||
Referencer="*res://scripts/globals/referencer.gd"
|
Referencer="*res://scripts/globals/referencer.gd"
|
||||||
Inputer="*res://scripts/globals/inputer.gd"
|
Inputer="*res://scripts/globals/inputer.gd"
|
||||||
|
Consoler="*res://scripts/globals/consoler.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
[sub_resource type="SystemFont" id="SystemFont_mq8v6"]
|
[sub_resource type="SystemFont" id="SystemFont_mq8v6"]
|
||||||
font_names = PackedStringArray("Monospace")
|
font_names = PackedStringArray("Monospace")
|
||||||
font_weight = 600
|
font_weight = 600
|
||||||
|
subpixel_positioning = 0
|
||||||
|
|
||||||
[node name="RichTextLabel" type="RichTextLabel"]
|
[node name="RichTextLabel" type="RichTextLabel"]
|
||||||
clip_contents = false
|
clip_contents = false
|
||||||
|
|||||||
21
scripts/globals/consoler.gd
Normal file
21
scripts/globals/consoler.gd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
var input_thread: Thread
|
||||||
|
|
||||||
|
|
||||||
|
func _enter_tree() -> void:
|
||||||
|
input_thread = Thread.new()
|
||||||
|
input_thread.start(_process_input)
|
||||||
|
|
||||||
|
|
||||||
|
func _exit_tree() -> void:
|
||||||
|
input_thread.wait_to_finish()
|
||||||
|
|
||||||
|
|
||||||
|
func _process_input() -> void:
|
||||||
|
var text := ""
|
||||||
|
while text != "quit":
|
||||||
|
print("Insert some text: ")
|
||||||
|
text = OS.read_string_from_stdin().strip_edges()
|
||||||
|
Referencer.chat.send_server_message(text)
|
||||||
|
get_tree().quit()
|
||||||
@ -64,19 +64,28 @@ func close() -> void:
|
|||||||
_msg_scroll.vertical_scroll_mode = ScrollContainer.SCROLL_MODE_SHOW_NEVER
|
_msg_scroll.vertical_scroll_mode = ScrollContainer.SCROLL_MODE_SHOW_NEVER
|
||||||
|
|
||||||
|
|
||||||
|
func send_server_message(message: String) -> void:
|
||||||
|
_send_message.rpc(message, true)
|
||||||
|
|
||||||
|
|
||||||
@rpc("any_peer", "call_local", "reliable", 1)
|
@rpc("any_peer", "call_local", "reliable", 1)
|
||||||
func _send_message(message: String) -> void:
|
func _send_message(message: String, server: bool = false) -> void:
|
||||||
var player_name := (
|
var player_name := ""
|
||||||
Networker.players[multiplayer.get_remote_sender_id()]["name"] as String
|
if not server:
|
||||||
)
|
player_name = (
|
||||||
var message_node := _make_message_node(player_name, message)
|
Networker.players[multiplayer.get_remote_sender_id()]["name"] as String
|
||||||
|
)
|
||||||
|
var message_node := _make_message_node(message, player_name)
|
||||||
_msg_container.add_child(message_node)
|
_msg_container.add_child(message_node)
|
||||||
print(player_name + ": " + message)
|
print(player_name + ": " + message)
|
||||||
|
|
||||||
|
|
||||||
func _make_message_node(player_name: String, message: String) -> RichTextLabel:
|
func _make_message_node(message: String, player_name: String = "") -> RichTextLabel:
|
||||||
var node := _chat_message_scene.instantiate() as RichTextLabel
|
var node := _chat_message_scene.instantiate() as RichTextLabel
|
||||||
node.text = "[b]" + player_name + ":[/b] " + _escape_bbcode_tags(message)
|
if player_name:
|
||||||
|
node.text = "[b]" + player_name + ":[/b] " + _escape_bbcode_tags(message)
|
||||||
|
else:
|
||||||
|
node.text = message
|
||||||
|
|
||||||
return node
|
return node
|
||||||
|
|
||||||
@ -105,7 +114,7 @@ func _on_message_edit_text_submitted(message: String) -> void:
|
|||||||
_message_history.append(message)
|
_message_history.append(message)
|
||||||
_history_position = 0
|
_history_position = 0
|
||||||
close()
|
close()
|
||||||
_send_message.rpc(message)
|
_send_message.rpc(message, false)
|
||||||
|
|
||||||
|
|
||||||
func _on_message_margin_minimum_size_changed() -> void:
|
func _on_message_margin_minimum_size_changed() -> void:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user