diff --git a/save_load/resources/default_save_icon.tres b/save_load/resources/default_save_icon.tres new file mode 100644 index 0000000..1921e8e --- /dev/null +++ b/save_load/resources/default_save_icon.tres @@ -0,0 +1,4 @@ +[gd_resource type="CompressedTexture2D" format=3 uid="uid://60ib8urc8xjo"] + +[resource] +load_path = "res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex" diff --git a/save_load/resources/save_file_details_resource.gd b/save_load/resources/save_file_details_resource.gd index dd90d45..fdabb86 100644 --- a/save_load/resources/save_file_details_resource.gd +++ b/save_load/resources/save_file_details_resource.gd @@ -8,4 +8,4 @@ extends Node @export var filename: String = "" @export var date_created: String = "" @export var filesize: int = 0 -@export var save_icon: String = "res://assets/icon.svg" +@export var save_icon: String diff --git a/save_load/ui/save_file.gd b/save_load/ui/save_file.gd index 6954b52..93a4aea 100644 --- a/save_load/ui/save_file.gd +++ b/save_load/ui/save_file.gd @@ -4,6 +4,7 @@ extends Panel @export var save_panel_highlight: StyleBoxFlat @export var save_panel_normal: StyleBoxFlat +@export var default_save_icon_resource: CompressedTexture2D @export_group("Node Exports") @export var save_name_label: Label @@ -39,14 +40,17 @@ func set_save_date() -> void: save_date_label.text = save_file_details.date_created func set_save_icon() -> void: - if !FileAccess.file_exists(save_file_details.save_icon): + var _icon_texture: Texture2D = ImageTexture.new() + if save_file_details.save_icon != null and !FileAccess.file_exists(save_file_details.save_icon): return - - var _icon_image: Image = Image.new() - _icon_image.load(save_file_details.save_icon) - - var _icon_texture: ImageTexture = ImageTexture.new() - _icon_texture.set_image(_icon_image) + elif save_file_details.save_icon == null: + _icon_texture = default_save_icon_resource + else: + var _icon_image: Image = Image.new() + _icon_image.load(save_file_details.save_icon) + + @warning_ignore("unsafe_method_access") + _icon_texture.set_image(_icon_image) save_icon.texture = _icon_texture diff --git a/save_load/ui/save_file.tscn b/save_load/ui/save_file.tscn index 9be91ae..51c6e83 100644 --- a/save_load/ui/save_file.tscn +++ b/save_load/ui/save_file.tscn @@ -1,6 +1,5 @@ [gd_scene load_steps=11 format=3 uid="uid://bb7poutsn4ex2"] -[ext_resource type="Texture2D" uid="uid://dknv7amroftm8" path="res://assets/icon.svg" id="1_714lu"] [ext_resource type="StyleBox" uid="uid://biousyggn7iua" path="res://save_load/resources/save_file_panel_theme.tres" id="1_cqw77"] [ext_resource type="Texture2D" uid="uid://cmq51cgasug81" path="res://save_load/assets/folder-open-normal.png" id="1_k6haa"] [ext_resource type="Script" uid="uid://dcfdyua5gwpw4" path="res://save_load/ui/save_file.gd" id="2_5g2eu"] @@ -8,6 +7,7 @@ [ext_resource type="StyleBox" uid="uid://bwm315lqbbb87" path="res://save_load/resources/save_file_highlight_panel_theme.tres" id="3_om23c"] [ext_resource type="Texture2D" uid="uid://by4w5ll3le7g6" path="res://save_load/assets/folder-open-hover.png" id="3_ubfnn"] [ext_resource type="Texture2D" uid="uid://dvp5yeoqw36yt" path="res://save_load/assets/trash-normal.png" id="4_c2bnc"] +[ext_resource type="Texture2D" uid="uid://60ib8urc8xjo" path="res://save_load/resources/default_save_icon.tres" id="4_jgxci"] [ext_resource type="Texture2D" uid="uid://brwa8yljyrlgy" path="res://save_load/assets/trash-pressed.png" id="5_jgxci"] [ext_resource type="Texture2D" uid="uid://cmrtuy0i5qc01" path="res://save_load/assets/trash-hover.png" id="6_cqw77"] @@ -19,6 +19,7 @@ theme_override_styles/panel = ExtResource("1_cqw77") script = ExtResource("2_5g2eu") save_panel_highlight = ExtResource("3_om23c") save_panel_normal = ExtResource("1_cqw77") +default_save_icon_resource = ExtResource("4_jgxci") save_name_label = NodePath("HBoxContainer/NameDate/SaveName") save_date_label = NodePath("HBoxContainer/NameDate/SaveDate") save_icon = NodePath("HBoxContainer/SaveFileIcon") @@ -46,7 +47,7 @@ size_flags_horizontal = 0 [node name="SaveFileIcon" type="TextureRect" parent="HBoxContainer"] layout_mode = 2 -texture = ExtResource("1_714lu") +texture = ExtResource("4_jgxci") expand_mode = 3 [node name="NameDate" type="VBoxContainer" parent="HBoxContainer"]