2024-05-12 20:15:36 -04:00
|
|
|
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
|
|
--
|
|
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
|
|
|
|
with core, ui;
|
|
|
|
|
|
|
|
package body material is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
sprite : array (enumeration) of core.sprite;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
procedure configure is
|
|
|
|
begin
|
|
|
|
core.echo (core.comment, "Configuring material components...");
|
|
|
|
--
|
|
|
|
for index in enumeration loop
|
2024-05-27 17:51:21 -04:00
|
|
|
sprite (index) := core.import_sprite (core.folder & "/icon/material/" & core.lowercase (enumeration'image (index)) & ".png", 1, 1);
|
2024-05-12 20:15:36 -04:00
|
|
|
end loop;
|
|
|
|
end configure;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-28 06:08:45 -04:00
|
|
|
procedure draw_points (data : in points := (others => (0, 0));
|
|
|
|
x : in integer := 0;
|
|
|
|
y : in integer := 0) is
|
|
|
|
move_x : integer := x;
|
2024-05-12 20:15:36 -04:00
|
|
|
begin
|
2024-05-28 06:08:45 -04:00
|
|
|
for index in enumeration loop
|
|
|
|
if data (index).value > 0 then
|
|
|
|
ui.draw_icon (sprite (index), trait (index).name, move_x, y);
|
|
|
|
ui.draw_text_box (move_x, y + core.icon, core.icon, core.icon);
|
|
|
|
ui.write (data (index).value'image, move_x + 4, y + core.icon + 8, (255, 255, 255, 255), 15, true);
|
|
|
|
--
|
|
|
|
move_x := move_x + core.icon;
|
|
|
|
end if;
|
|
|
|
end loop;
|
|
|
|
end draw_points;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
procedure save_points (here : in core.io.file_type; data : in points) is
|
|
|
|
begin
|
|
|
|
for index in enumeration loop
|
|
|
|
core.save_point (here, data (index));
|
|
|
|
end loop;
|
|
|
|
end save_points;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
procedure load_points (here : in core.io.file_type; data : out points) is
|
|
|
|
begin
|
|
|
|
for index in enumeration loop
|
|
|
|
core.load_point (here, data (index));
|
|
|
|
end loop;
|
|
|
|
end load_points;
|
2024-05-12 20:15:36 -04:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end material;
|