Fixing
This commit is contained in:
@@ -11,13 +11,11 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = ExtResource("1_3whrn")
|
script = ExtResource("1_3whrn")
|
||||||
|
|
||||||
[node name="HFlowContainer" type="HFlowContainer" parent="." unique_id=185867767]
|
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=185867767]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme_override_constants/h_separation = 0
|
theme_override_constants/separation = 0
|
||||||
theme_override_constants/v_separation = 0
|
|
||||||
alignment = 2
|
|
||||||
|
|||||||
@@ -345,6 +345,7 @@ unique_name_in_owner = true
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
|
max_chips_per_row = 100
|
||||||
empty_chip_texture = SubResource("AtlasTexture_eskga")
|
empty_chip_texture = SubResource("AtlasTexture_eskga")
|
||||||
filled_chip_texture = SubResource("AtlasTexture_14b7f")
|
filled_chip_texture = SubResource("AtlasTexture_14b7f")
|
||||||
|
|
||||||
@@ -373,6 +374,7 @@ unique_name_in_owner = true
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
|
max_chips_per_row = 100
|
||||||
empty_chip_texture = SubResource("AtlasTexture_yhw6j")
|
empty_chip_texture = SubResource("AtlasTexture_yhw6j")
|
||||||
filled_chip_texture = SubResource("AtlasTexture_kdblo")
|
filled_chip_texture = SubResource("AtlasTexture_kdblo")
|
||||||
|
|
||||||
@@ -401,6 +403,7 @@ unique_name_in_owner = true
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
|
max_chips_per_row = 100
|
||||||
empty_chip_texture = SubResource("AtlasTexture_kd55s")
|
empty_chip_texture = SubResource("AtlasTexture_kd55s")
|
||||||
filled_chip_texture = SubResource("AtlasTexture_alhr0")
|
filled_chip_texture = SubResource("AtlasTexture_alhr0")
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 463 KiB |
@@ -23,7 +23,7 @@ class_name ChipBar extends Control
|
|||||||
# The texture for a filled chip
|
# The texture for a filled chip
|
||||||
@export var filled_chip_texture: Texture2D
|
@export var filled_chip_texture: Texture2D
|
||||||
|
|
||||||
@onready var _container: HFlowContainer = $HFlowContainer
|
@onready var _container: VBoxContainer = $VBoxContainer
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
@@ -38,11 +38,29 @@ func _refresh() -> void:
|
|||||||
var chip_width := filled_chip_texture.get_width()
|
var chip_width := filled_chip_texture.get_width()
|
||||||
_container.custom_minimum_size.x = chip_width * max_chips_per_row
|
_container.custom_minimum_size.x = chip_width * max_chips_per_row
|
||||||
|
|
||||||
var empty_count := max_value - value
|
if max_chips_per_row <= 0:
|
||||||
for i in max_value:
|
return
|
||||||
var tex_rect := TextureRect.new()
|
|
||||||
if i < empty_count:
|
var filled_remaining := value
|
||||||
|
var chips_laid_out := 0
|
||||||
|
while chips_laid_out < max_value:
|
||||||
|
var row := HBoxContainer.new()
|
||||||
|
row.alignment = BoxContainer.ALIGNMENT_END
|
||||||
|
row.add_theme_constant_override("separation", 0)
|
||||||
|
|
||||||
|
var chips_in_row := mini(max_chips_per_row, max_value - chips_laid_out)
|
||||||
|
var filled_in_row := mini(filled_remaining, chips_in_row)
|
||||||
|
var empty_in_row := chips_in_row - filled_in_row
|
||||||
|
|
||||||
|
for i in empty_in_row:
|
||||||
|
var tex_rect := TextureRect.new()
|
||||||
tex_rect.texture = empty_chip_texture
|
tex_rect.texture = empty_chip_texture
|
||||||
else:
|
row.add_child(tex_rect)
|
||||||
|
for i in filled_in_row:
|
||||||
|
var tex_rect := TextureRect.new()
|
||||||
tex_rect.texture = filled_chip_texture
|
tex_rect.texture = filled_chip_texture
|
||||||
_container.add_child(tex_rect)
|
row.add_child(tex_rect)
|
||||||
|
|
||||||
|
filled_remaining -= filled_in_row
|
||||||
|
chips_laid_out += chips_in_row
|
||||||
|
_container.add_child(row)
|
||||||
|
|||||||
Reference in New Issue
Block a user