From 8ac19797f0ebca9b69924a92925b73cf55ef8f8b Mon Sep 17 00:00:00 2001 From: Zenny Date: Sun, 8 Sep 2024 23:54:46 -0700 Subject: [PATCH] Player ui stuff --- src/player/Player.cs | 15 +-- src/player/Player.tscn | 101 ++++++++++++------ src/ui/label_settings/MainTextBold.tres | 2 +- src/ui/label_settings/MainTextRegular.tres | 2 +- src/ui/textures/blank level symbol.png | Bin 0 -> 4245 bytes src/ui/textures/blank level symbol.png.import | 34 ++++++ 6 files changed, 104 insertions(+), 50 deletions(-) create mode 100644 src/ui/textures/blank level symbol.png create mode 100644 src/ui/textures/blank level symbol.png.import diff --git a/src/player/Player.cs b/src/player/Player.cs index ed92aadc..41fafa06 100644 --- a/src/player/Player.cs +++ b/src/player/Player.cs @@ -69,10 +69,6 @@ namespace GameJamDungeon [Node] public Label VTNumber { get; set; } = default!; - [Node] public ProgressBar HPBar { get; set; } = default!; - - [Node] public ProgressBar VTBar { get; set; } = default!; - [Node] public IArea3D CollisionDetector { get; set; } = default!; private AutoProp _currentHP { get; set; } = default!; @@ -103,11 +99,6 @@ namespace GameJamDungeon _currentHP.Sync += OnHPChanged; _currentVT.Sync += OnVTChanged; - HPBar.MaxValue = PlayerStatInfo.MaximumHP; - HPBar.Value = _currentHP.Value; - VTBar.MaxValue = PlayerStatInfo.MaximumVT; - VTBar.Value = _currentVT.Value; - HealthTimer.Timeout += OnHealthTimerTimeout; CollisionDetector.AreaEntered += OnEnemyHitBoxEntered; } @@ -222,8 +213,7 @@ namespace GameJamDungeon private void OnHPChanged(double newHP) { - HPNumber.Text = Mathf.RoundToInt(newHP).ToString(); - HPBar.Value = newHP; + HPNumber.Text = $"{Mathf.RoundToInt(newHP)}/{PlayerStatInfo.MaximumHP}"; if (newHP <= 0.0) { @@ -234,8 +224,7 @@ namespace GameJamDungeon private void OnVTChanged(int newVT) { - VTNumber.Text = newVT.ToString(); - VTBar.Value = newVT; + VTNumber.Text = $"{newVT}/{PlayerStatInfo.MaximumVT}"; } private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition; diff --git a/src/player/Player.tscn b/src/player/Player.tscn index 67e42371..67e97749 100644 --- a/src/player/Player.tscn +++ b/src/player/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://cfecvvav8kkp6"] +[gd_scene load_steps=22 format=3 uid="uid://cfecvvav8kkp6"] [ext_resource type="Script" path="res://src/player/Player.cs" id="1_xcol5"] [ext_resource type="Texture2D" uid="uid://bokx3h8kfdo5i" path="res://src/player/slash_0000_Classic_30.png" id="2_la11l"] @@ -9,6 +9,9 @@ [ext_resource type="Texture2D" uid="uid://bodfblud4kea3" path="res://src/player/slash_0003_Classic_27.png" id="5_eebal"] [ext_resource type="Texture2D" uid="uid://de55prolicl0u" path="res://src/player/slash_0004_Classic_26.png" id="6_ngag5"] [ext_resource type="Texture2D" uid="uid://bp0msic3uk3kc" path="res://src/player/slash_0005_Layer-1.png" id="7_tp5uu"] +[ext_resource type="Texture2D" uid="uid://hg2kraa5nrnl" path="res://src/ui/textures/blank level symbol.png" id="10_rsd7v"] +[ext_resource type="LabelSettings" uid="uid://cuuo43x72xcsc" path="res://src/ui/label_settings/MainTextBold.tres" id="11_6svf8"] +[ext_resource type="LabelSettings" uid="uid://dupifadnagodp" path="res://src/ui/label_settings/MainTextRegular.tres" id="12_f4uqk"] [sub_resource type="Resource" id="Resource_up0v1"] script = ExtResource("2_n88di") @@ -121,12 +124,6 @@ animations = [{ "speed": 12.0 }] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kxbln"] -bg_color = Color(0, 0.411765, 0, 1) - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_onron"] -bg_color = Color(0, 0.411765, 0, 1) - [node name="Player" type="CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.381018, 0) collision_layer = 38 @@ -190,46 +187,80 @@ process_mode = 1 wait_time = 3.0 autostart = true -[node name="MarginContainer" type="MarginContainer" parent="."] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_constants/margin_left = 20 -theme_override_constants/margin_top = 20 -theme_override_constants/margin_right = 20 -theme_override_constants/margin_bottom = 20 +[node name="PlayerInfoUI" type="MarginContainer" parent="."] +offset_right = 629.0 +offset_bottom = 256.0 +theme_override_constants/margin_left = 32 -[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] -custom_minimum_size = Vector2(400, 0) +[node name="HBoxContainer" type="HBoxContainer" parent="PlayerInfoUI"] layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -[node name="HPNumber" type="Label" parent="MarginContainer/VBoxContainer"] +[node name="CenterContainer" type="CenterContainer" parent="PlayerInfoUI/HBoxContainer"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="PlayerInfoUI/HBoxContainer/CenterContainer"] +custom_minimum_size = Vector2(128, 128) +layout_mode = 2 +size_flags_vertical = 3 +texture = ExtResource("10_rsd7v") +expand_mode = 1 +stretch_mode = 4 + +[node name="Level" type="Label" parent="PlayerInfoUI/HBoxContainer/CenterContainer"] +custom_minimum_size = Vector2(80, 80) +layout_mode = 2 +text = "99" +label_settings = ExtResource("11_6svf8") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="VBox" type="VBoxContainer" parent="PlayerInfoUI/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme_override_constants/separation = 15 + +[node name="HBox" type="HBoxContainer" parent="PlayerInfoUI/HBoxContainer/VBox"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="HP" type="Label" parent="PlayerInfoUI/HBoxContainer/VBox/HBox"] +layout_mode = 2 +text = "HP: " +label_settings = ExtResource("11_6svf8") + +[node name="ReferenceRect" type="ReferenceRect" parent="PlayerInfoUI/HBoxContainer/VBox/HBox"] +custom_minimum_size = Vector2(30, 0) +layout_mode = 2 +border_width = 0.0 + +[node name="HPNumber" type="Label" parent="PlayerInfoUI/HBoxContainer/VBox/HBox"] unique_name_in_owner = true layout_mode = 2 -text = "HP: inf/inf" +text = "222/222" +label_settings = ExtResource("12_f4uqk") -[node name="HPBar" type="ProgressBar" parent="MarginContainer/VBoxContainer"] -unique_name_in_owner = true -custom_minimum_size = Vector2(0, 25) +[node name="HBox2" type="HBoxContainer" parent="PlayerInfoUI/HBoxContainer/VBox"] layout_mode = 2 -theme_override_styles/background = SubResource("StyleBoxFlat_kxbln") -show_percentage = false -[node name="VTNumber" type="Label" parent="MarginContainer/VBoxContainer"] +[node name="VT" type="Label" parent="PlayerInfoUI/HBoxContainer/VBox/HBox2"] +layout_mode = 2 +text = "VT:" +label_settings = ExtResource("11_6svf8") + +[node name="ReferenceRect" type="ReferenceRect" parent="PlayerInfoUI/HBoxContainer/VBox/HBox2"] +custom_minimum_size = Vector2(30, 0) +layout_mode = 2 +border_width = 0.0 + +[node name="VTNumber" type="Label" parent="PlayerInfoUI/HBoxContainer/VBox/HBox2"] unique_name_in_owner = true layout_mode = 2 -text = "VT: inf/inf" +text = "444/444" +label_settings = ExtResource("12_f4uqk") -[node name="VTBar" type="ProgressBar" parent="MarginContainer/VBoxContainer"] -unique_name_in_owner = true -custom_minimum_size = Vector2(0, 25) +[node name="TextureButton" type="TextureButton" parent="PlayerInfoUI"] layout_mode = 2 -theme_override_styles/background = SubResource("StyleBoxFlat_onron") -show_percentage = false [node name="Marker3D" type="Marker3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.70201) diff --git a/src/ui/label_settings/MainTextBold.tres b/src/ui/label_settings/MainTextBold.tres index 365ec355..8828edf1 100644 --- a/src/ui/label_settings/MainTextBold.tres +++ b/src/ui/label_settings/MainTextBold.tres @@ -4,5 +4,5 @@ [resource] font = ExtResource("1_4xbcf") -font_size = 36 +font_size = 32 font_color = Color(0.737255, 0.705882, 0.690196, 1) diff --git a/src/ui/label_settings/MainTextRegular.tres b/src/ui/label_settings/MainTextRegular.tres index 73ff3bda..b2cd63d1 100644 --- a/src/ui/label_settings/MainTextRegular.tres +++ b/src/ui/label_settings/MainTextRegular.tres @@ -4,5 +4,5 @@ [resource] font = ExtResource("1_u174r") -font_size = 36 +font_size = 32 font_color = Color(0.737255, 0.705882, 0.690196, 1) diff --git a/src/ui/textures/blank level symbol.png b/src/ui/textures/blank level symbol.png new file mode 100644 index 0000000000000000000000000000000000000000..342dec65f1818a88be080f5b743f87513e266410 GIT binary patch literal 4245 zcmeHLZA=qq9De}ae2FiaQJE4w>ppCA*SqWcotDa|4uVCZsB9wo^zMKQ?Op91P^!-A zx4nV;u+0}DCJXTc6JjzUiV9{4Os5v7Qx{=dB+@y2n}C8k*mF=ie4Vk|H=8u~+}-c~ zzu*7$x%Q)s^!Fx=n=uXmFd;R?z6^j^w2TE~UO|U$-?@9}FxHduz6`+lDe5-{>@1H5 zVDvd5GfT;GEMZv5t%aQA6xs*fTcN&EfHJbV~_ziuRzS_c8N0MvuXzIGH9({CN$U}L@BUpl2k%0 z%aMU4OI{wMwG_^hqz*IFT4;hMJ#DhUcQ75PGZ3VnAWb+$F-9Fj8nN(4g9yD`F0;(O zI82AmteSj9@h}8YTwJUz)@vni9zoGGO^`Z5r^68fmrFzi`fyR6J8Z$u%dA)MD1szn zszvCO3Kgpci5>F7?TMHb<#41>%m^R!5R{fwy&42^Yy{^i^tuMgIhNpEyqgyl8DXgi z){`$OlAJF+#dPHMLj)+g4o8IJiCWz52!*UHDnf3A1M)<)oLS=GiDkSj6?$2IQ4x|k zSM|ojBzt+NNZw3Iat-GyV^}h#GioUcd(#0~K~%kXYs53W9V)z4qb3d~X`D1?QaVO& zWQ-=XW=L`f>X0}gx8!lCo-vphz3w3>DjW_f@L$0k%j8O4H$*-QZkWdt9x+dYMIy;0 zOD@Tah><$|pbCeBNfl)UiY%XMw`!2vT0!6#(rn1(Am_xPlj3j##q+p@CM`I}=}l%c zNs(qfHT=9?Vhh#es?QIVIw!Hn#y_mNw8dyJ87#O{$Ln!3YtZ2q%4o)+K3C6i(3I=s zxnXNdy#nes=o)ENRmCBTdQMMSAZNl^Xfojj)~Lf#pXhMjLh~GDq4lJ}sTTBLjW8*K zjIvh}Zjt5u`tZsnV1s4BKvpextAmzBr#pMxT-VAsSiARf?gP zPs&5Fd!G6to~B=hMbB3MeAyh5^|<;+>hT5Dhl9iBLots>LzK{{{t)V{8A=WDXx0Yr zjhIWra5U`HWn|EzlgOy%MP%BG2Jw=8+fM*6E-%%dl<6zK-gfM>xpmVPo(Yzve?9F3 zIxeo=J$lbKD+0Qf6Q8`^2wSKn%gH&d@|~K#K((0d`Hl)bmUhT~kqsqVx z*?+n`Xl%;57YKIsSFfn;?dhy&o9F8BTkCe)LJ6y<2S!KBptbIunAQ}ZHv6}dUw%Ds zqAsD?-Pu=h@irtx+|F zp(EQrarY_YOhaSW;f8`QB)as{`7XG()9f^_q)l`zg6RS#~uo)ZWbCDgUe zYiz#vXM0U$U#I`DFy-Uu#CIRqu;mcdl)b|iykEaE#@XN7j-vn5z*dVByi1rcctDDbvt*r_D_@G=qEKE(@7G2Ram8S)dO);y(^RzlVk6y8e ztAlwp4>#$Y?v$(J-bfst34)u?N)J5s`>UY;|{Tqjq5{>`> literal 0 HcmV?d00001 diff --git a/src/ui/textures/blank level symbol.png.import b/src/ui/textures/blank level symbol.png.import new file mode 100644 index 00000000..2aa09358 --- /dev/null +++ b/src/ui/textures/blank level symbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hg2kraa5nrnl" +path="res://.godot/imported/blank level symbol.png-14e7d3eb360d529d659ec2284ee12ca4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://src/ui/textures/blank level symbol.png" +dest_files=["res://.godot/imported/blank level symbol.png-14e7d3eb360d529d659ec2284ee12ca4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1