xhads/source/resource.ads

53 lines
2.5 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core;
package resource is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
gold, wood, stone, metal, leather, gem
);
------------------------------------------------------------------------------------------
type definition is record
base : core.point;
name : core.unstring;
text : core.unstring;
end record;
type points is array (enumeration) of core.point;
type price is array (enumeration) of natural;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
description : constant array (enumeration) of definition := (
gold => ((24, 480), core.unbound ("Gold"), core.unbound ("Gold is precious yellowish shiny metal, valued since ancient times.")),
wood => ((12, 240), core.unbound ("Wood"), core.unbound ("Wood is just bundle of lignin and cellulose, nothing more.")),
stone => ((12, 240), core.unbound ("Stone"), core.unbound ("Stone is essential building block for most constructions in this world.")),
metal => ((12, 240), core.unbound ("Metal"), core.unbound ("Metal as a resource is mixture of commonly found metalic elements.")),
leather => ((12, 240), core.unbound ("Leather"), core.unbound ("Leather is general purpose resource, used for armours and decorations.")),
gem => ((12, 240), core.unbound ("Gem"), core.unbound ("Gem as a resource is same as metal, just mixture of various gems."))
);
icon : array (enumeration) of core.sprite;
------------------------------------------------------------------------------------------
procedure configure;
procedure draw_points (data : in points; x, y : in integer);
procedure save_points (here : in core.io.file_type; data : in points);
procedure load_points (here : in core.io.file_type; data : out points);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end resource;