Files
pomchronicles/scripts/item_display_window.gd

46 lines
1.4 KiB
GDScript

extends Popup
var dragging : bool = false
var item : Item
@onready var image : TextureRect = %Image
@onready var item_name : Label = %ItemName
@onready var item_type : Label = %ItemType
@onready var item_grade : Label = %ItemGrade
@onready var primary_stat : Label = %PrimaryStat
@onready var secondary_stats : Label = %SecondaryStats
@onready var brief : Label = %Brief
func setup(itm : Item) -> void:
item = itm
title = item.name + " Information"
image.texture = item.image
item_name.text = item.name
item_type.text = item.item_type_name()
item_grade.text = item.grade
primary_stat.text = item.primary_stat()
#TODO: Implement item secondary stats meaningfully
var ss_string = ""
var ss_count = 0
var pp_list : Array = item.stats.get_property_list()
print(item.stats)
print(item.stats.INT)
for stat in pp_list.slice(9, len(pp_list)-1):
var val = item.stats.get(stat.name)
if val:
ss_string += stat.name + " " + ("+" if val > 0 else "")
ss_string += str(val) + ("\n" if ss_count % 2 else " ")
ss_count += 1
if ss_count > 0:
secondary_stats.text = ss_string
brief.text = item.brief
func _on_drag_region_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
dragging = event.pressed
elif dragging and event is InputEventMouseMotion:
position += Vector2i(event.screen_relative)