55 lines
1.9 KiB
Ada
55 lines
1.9 KiB
Ada
with core;
|
|
|
|
package resource is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type codex is (
|
|
gold, wood, mercury, ore, sulfur, crystal,
|
|
gem
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
subtype base_limit is natural range 0 .. 144000;
|
|
|
|
type information is
|
|
record
|
|
name : core.short_string;
|
|
base : base_limit;
|
|
end record;
|
|
|
|
type trait_array is array (codex) of information;
|
|
type sprite_array is array (codex) of core.sprite;
|
|
type value_array is array (codex) of base_limit;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
sprite : sprite_array;
|
|
|
|
count : constant natural := codex'pos (codex'last) + 1;
|
|
|
|
trait : constant trait_array := (
|
|
("Gold ", 0),
|
|
("Wood ", 0),
|
|
("Mercury ", 0),
|
|
("Ore ", 0),
|
|
("Sulfur ", 0),
|
|
("Crystal ", 0),
|
|
("Gem ", 0)
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
procedure configure;
|
|
|
|
procedure draw (index : in codex; x, y : in integer);
|
|
|
|
function name (index : in integer) return core.short_string;
|
|
function base (index : in integer) return base_limit;
|
|
function icon (index : in integer) return core.sprite;
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end resource;
|