39 lines
1.3 KiB
Ada
39 lines
1.3 KiB
Ada
|
with core, effect, faction, unit;
|
||
|
|
||
|
use unit;
|
||
|
|
||
|
package body unit is
|
||
|
|
||
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
|
||
|
type sprite_array is array (codex) of core.sprite;
|
||
|
|
||
|
sprite : sprite_array;
|
||
|
icon : sprite_array;
|
||
|
|
||
|
------------------------------------------------------------------------------------------
|
||
|
|
||
|
procedure configure is
|
||
|
begin
|
||
|
for index in codex
|
||
|
loop
|
||
|
declare
|
||
|
folder : constant string := core.lowercase (faction.codex'image (trait (index).kind));
|
||
|
file : constant string := core.lowercase (codex'image (index));
|
||
|
begin
|
||
|
sprite (index) := core.load_sprite ("sprite/unit/" & folder & "/" & file & ".png", 6, 6);
|
||
|
end;
|
||
|
end loop;
|
||
|
end configure;
|
||
|
|
||
|
------------------------------------------------------------------------------------------
|
||
|
|
||
|
procedure draw (index : in codex; state : in animation; x, y : in integer) is
|
||
|
begin
|
||
|
core.move (sprite (index), x, y, 6, animation'pos (state));
|
||
|
end draw;
|
||
|
|
||
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
|
||
|
end unit;
|