Files
owniverse/UI/ItemButton/item_button.gd
T
Kirill fc86261a9d Add new entity and item definitions, refactor related code
- Introduced new CSV files for entities and items, defining various properties and characteristics.
- Refactored the stage.gd script to handle item selection and descriptions instead of entities.
- Updated item button script to reflect changes in item properties and signals.
- Created a new entity.gd script to define the OwniverseEntity class with initialization and parsing methods.
- Modified owniverse.gd to initialize entities from the new definitions.
- Adjusted versioning in export presets and project files to reflect recent changes.
2026-04-08 00:23:22 +03:00

39 lines
1004 B
GDScript

extends Control
class_name OwniverseItem
signal item_activated(item)
const ENTITY_WIDTH = 216
const ENTITY_HEIGHT = 256
@onready var texture_button: TextureButton = $TextureButton
@onready var description: Label = $Description
@onready var selection: TextureRect = $Selection
var item_id: String = ""
var item_name: String = ""
var item_page: int = -1
var item_sub_page: int = -1
func set_selection(flag: bool) -> void:
selection.visible = flag
func init_button(properties: Dictionary):
var image_path = "res://" + properties.image + properties.name + ".png"
texture_button.texture_normal = load(image_path)
position = Vector2i(int(properties.col) * ENTITY_WIDTH, int(properties.row) * ENTITY_HEIGHT)
item_id = properties.id
item_name = properties.name
item_page = int(properties.page)
item_sub_page = int(properties.sub_page)
name = properties.id
set_selection(false)
func _on_button_up() -> void:
set_selection(true)
item_activated.emit(self)