-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core, ui; package body attribute is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ sprite : array (enumeration) of core.sprite; ------------------------------------------------------------------------------------------ procedure configure is structure : ui.structure; begin core.echo (core.comment, "Configuring attribute components..."); -- structure.title := "Attribute Menu "; structure.toggle := core.signal_a; structure.show := false; structure.center := false; structure.resize := true; structure.x := 60; structure.y := 80; structure.gui_n := count; -- ui.add_structure (data => structure); -- for index in enumeration loop sprite (index) := core.import_sprite ("./sprite/attribute/" & core.lowercase (enumeration'image (index)) & ".png", 1, 1); -- ui.add_structure_button (icon => sprite (index), name => trait (index).name, text => trait (index).text); end loop; end configure; ------------------------------------------------------------------------------------------ procedure draw_points (data : in points := (others => 0); x : in integer := 0; y : in integer := 0; list : in boolean := false) is -- offset : constant core.vector := ((if list then 0 else core.icon), (if list then core.icon else 0)); begin for index in enumeration loop ui.draw_icon (data => sprite (index), text => trait (index).text, x => x + offset.x * enumeration'pos (index), y => y + offset.y * enumeration'pos (index)); -- ui.draw_icon_menu (x => x + offset.x * enumeration'pos (index) + offset.y, y => y + offset.y * enumeration'pos (index) + offset.x, width => core.icon, height => core.icon); -- ui.write (text => data (index)'image, x => x + offset.x * enumeration'pos (index) - 3 + offset.y, y => y + offset.y * enumeration'pos (index) + 6 + offset.x, size => 18); end loop; end draw_points; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end attribute;