diff options
author | tpart <tpart120@proton.me> | 2024-07-04 11:30:10 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-07-04 11:30:10 +0200 |
commit | 945010e21290f9bb71c9392c1f62383d54c5fa90 (patch) | |
tree | bf2966fd091f69e7e92b4b4ed532345df7f88fc5 | |
parent | 3d2bae03a51f8f96f0983af11ff7bfe693e7dbd9 (diff) | |
download | hurrycurry-945010e21290f9bb71c9392c1f62383d54c5fa90.tar hurrycurry-945010e21290f9bb71c9392c1f62383d54c5fa90.tar.bz2 hurrycurry-945010e21290f9bb71c9392c1f62383d54c5fa90.tar.zst |
Add optional username tags
-rw-r--r-- | client/global.gd | 1 | ||||
-rw-r--r-- | client/player/character/character.gd | 1 | ||||
-rw-r--r-- | client/player/character/character.tscn | 6 | ||||
-rw-r--r-- | client/player/player.gd | 10 |
4 files changed, 18 insertions, 0 deletions
diff --git a/client/global.gd b/client/global.gd index a8a34871..2a98f287 100644 --- a/client/global.gd +++ b/client/global.gd @@ -43,6 +43,7 @@ var default_settings := { "touch_controls": ToggleSetting.new(tr("Enable touch screen conrols"), DisplayServer.is_touchscreen_available()), "interpolate_camera_rotation": ToggleSetting.new(tr("Interpolate the camera rotation"), true), "invert_camera": ToggleSetting.new(tr("Invert camera movement"), false), + "usernames": ToggleSetting.new(tr("Show username tags"), false), "server_binary": TextSetting.new(tr("Server binary (leave empty to search PATH)"), "", "Enter path"), "server_data": TextSetting.new(tr("Server data directory (leave empty to auto-detect)"), "", "Enter path"), "aa": DropdownSetting.new(tr("Anti-aliasing"), 2, [tr("Disabled"), "FXAA", "MSAA 2x", "MSAA 4x"]), diff --git a/client/player/character/character.gd b/client/player/character/character.gd index 11db638f..76d1785e 100644 --- a/client/player/character/character.gd +++ b/client/player/character/character.gd @@ -32,6 +32,7 @@ var current_animation := "idle" @onready var main_height_target = default_height @onready var walking_particles = $Walking @onready var boosting_particles = $Boosting +@onready var username_tag = $Username @onready var hairstyles = { "Brown": $Main/Head/Hair, diff --git a/client/player/character/character.tscn b/client/player/character/character.tscn index 19eb3ce2..4d7749e2 100644 --- a/client/player/character/character.tscn +++ b/client/player/character/character.tscn @@ -684,4 +684,10 @@ stream = ExtResource("14_ikcec") [node name="Woosh2" type="AudioStreamPlayer3D" parent="Boosts"] stream = ExtResource("15_iv4wu") +[node name="Username" type="Label3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0) +billboard = 1 +no_depth_test = true +text = "Username" + [connection signal="animation_finished" from="HandAnimations" to="." method="_on_hand_animations_animation_finished"] diff --git a/client/player/player.gd b/client/player/player.gd index ef977ce6..1b82b90e 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -26,6 +26,7 @@ var rotation_ = 0. var rotation_anim = 0. var position_ = Vector2(0, 0) var position_anim = Vector2(0, 0) +var username: String var character: Character = preload("res://player/character/character.tscn").instantiate() var chat_bubble: ChatBubble = preload("res://player/chat_bubble.tscn").instantiate() @@ -48,6 +49,7 @@ func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new position_anim = pos name = new_name game = new_game + username = new_name hand_base.position = HAND_BASE_POSITION add_child(hand_base) @@ -65,11 +67,19 @@ func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new func _ready(): character.select_hairstyle(character_idx) clear_timer.timeout.connect(clear_message) + + update_username_tag() + Global.settings_changed.connect(update_username_tag) func update_position(new_position: Vector2, new_rotation: float): position_ = new_position rotation_ = new_rotation +func update_username_tag(): + var tag: Label3D = character.username_tag + tag.text = username + tag.visible = Global.get_setting("usernames") + func set_item(i: Item): i.owned_by = hand_base if hand != null: |