extends PacketHandler

signal message_received(message: String)

func send_message(message: String):
	var buffer := StreamPeerBuffer.new()
	buffer.put_u8(Packet.CHAT)
	buffer.put_data(message.to_utf8_buffer())
	%Client.send(buffer.data_array)

func handle_packet(data: PackedByteArray):
	var buffer := StreamPeerBuffer.new()
	buffer.data_array = data

	var player_id := buffer.get_string()
	var player := Global.players.get_player(player_id)
	var message := buffer.get_utf8_string()

	%Client.log("%s: %s" % [player.name, message])
	message_received.emit("[color=#e0e0e0]%s:[/color] %s" % [player.name, escape_bbcode(message)])

func escape_bbcode(text: String) -> String:
	return text.replace("[", "[lb]")