mirror of
https://github.com/thegatesbrowser/godot-multiplayer.git
synced 2025-08-23 18:17:10 -04:00
42 lines
1.1 KiB
GDScript
42 lines
1.1 KiB
GDScript
extends Control
|
|
class_name PlayerPanel
|
|
|
|
@export var nickname_edit: LineEdit
|
|
@export var volume_slider: HSlider
|
|
@export var speaking_indicator: Control
|
|
@export var animation_player: AnimationPlayer
|
|
@export var user_data_events: UserDataEvents
|
|
|
|
var user_data: UserData
|
|
|
|
|
|
func _ready() -> void:
|
|
user_data.nickname = nickname_edit.text
|
|
speaking_indicator.visible = false
|
|
|
|
nickname_edit.text_submitted.connect(text_submitted)
|
|
volume_slider.value_changed.connect(volume_changed)
|
|
|
|
|
|
func text_submitted(nickname: String) -> void:
|
|
user_data.nickname = nickname
|
|
|
|
|
|
func volume_changed(volume: float) -> void:
|
|
user_data_events.user_volume_changed_emit(user_data.id, volume)
|
|
|
|
|
|
func set_user_data(_user_data: UserData) -> void:
|
|
user_data = _user_data
|
|
if user_data.is_my_data: animation_player.play("my_panel")
|
|
|
|
user_data.nickname_changed.connect(nickname_changed)
|
|
user_data.speaking_changed.connect(speaking_changed)
|
|
|
|
|
|
func nickname_changed(nickname: String) -> void:
|
|
nickname_edit.text = nickname
|
|
|
|
|
|
func speaking_changed(speaking: bool) -> void:
|
|
speaking_indicator.visible = speaking
|