Refactored Unit package...
This commit is contained in:
parent
ea8e8e7b90
commit
eab5faa357
@ -241,7 +241,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
unit.configure;
|
core.echo (core.comment, "Configuring" & unit.count'image & " unit components...");
|
||||||
|
--
|
||||||
|
for index in faction.fairy .. faction.imp loop
|
||||||
|
unit.base (index) := core.import_sprite (core.folder & "/game/unit/" & core.lowercase (faction.enumeration'image (index)) & "/base.png", 4, 6);
|
||||||
|
end loop;
|
||||||
|
|
||||||
core.echo (core.comment, "Configuring" & deity.count'image & " deity components...");
|
core.echo (core.comment, "Configuring" & deity.count'image & " deity components...");
|
||||||
--
|
--
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
||||||
--
|
|
||||||
-- GNU General Public Licence (version 3 or later)
|
|
||||||
|
|
||||||
with core, ui, effect, attribute, faction;
|
|
||||||
|
|
||||||
package body unit is
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
view_width : constant integer := 48;
|
|
||||||
view_height : constant integer := 64;
|
|
||||||
|
|
||||||
base : array (faction.fairy .. faction.imp) of core.sprite;
|
|
||||||
--~icon : array (enumeration) of core.sprite;
|
|
||||||
--~view : array (enumeration) of core.sprite;
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
procedure configure is
|
|
||||||
begin
|
|
||||||
core.echo (core.comment, "Configuring unit components...");
|
|
||||||
--
|
|
||||||
for index in faction.fairy .. faction.imp loop
|
|
||||||
base (index) := core.import_sprite (core.folder & "/game/unit/" & core.lowercase (faction.enumeration'image (index)) & "/base.png", 4, 6);
|
|
||||||
end loop;
|
|
||||||
end configure;
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
procedure draw (index : in enumeration; state : in core.animation; x, y : in integer) is
|
|
||||||
begin
|
|
||||||
core.draw (base (description (index).kind), x, y, state => state);
|
|
||||||
--
|
|
||||||
for slot in equipment.slot loop
|
|
||||||
core.draw (equipment.sprite (description (index).equipments (slot)), x, y, state => state);
|
|
||||||
end loop;
|
|
||||||
end draw;
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
--~procedure draw_icon (index : in enumeration; x, y : in integer) is
|
|
||||||
--~begin
|
|
||||||
--~ui.draw_overicon (icon (index), description (index).text, x, y);
|
|
||||||
--~end draw_icon;
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
--~procedure draw_view (index : in enumeration; x, y : in integer) is
|
|
||||||
--~offset : constant integer := 4;
|
|
||||||
--~begin
|
|
||||||
--~core.draw (view (index), x + offset, y + offset);
|
|
||||||
--~ui.draw_icon_menu (x, y, view_width + 2 * offset, view_height + 2 * offset);
|
|
||||||
--~end draw_view;
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
end unit;
|
|
@ -68,14 +68,9 @@ package unit is
|
|||||||
equipment.steel_greaves, equipment.none, equipment.mithril_axe, equipment.steel_shield))
|
equipment.steel_greaves, equipment.none, equipment.mithril_axe, equipment.steel_shield))
|
||||||
);
|
);
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
base : array (faction.fairy .. faction.imp) of core.sprite;
|
||||||
|
--~icon : array (faction.fairy .. faction.imp) of core.sprite;
|
||||||
procedure configure;
|
--~view : array (faction.fairy .. faction.imp) of core.sprite;
|
||||||
|
|
||||||
procedure draw (index : in enumeration; state : in core.animation; x, y : in integer);
|
|
||||||
|
|
||||||
--~procedure draw_icon (index : in enumeration; x, y : in integer);
|
|
||||||
--~procedure draw_view (index : in enumeration; x, y : in integer);
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -383,10 +383,17 @@ package body world is
|
|||||||
if map.views (map.units (index).x, map.units (index).y)
|
if map.views (map.units (index).x, map.units (index).y)
|
||||||
and map.units (index).x > view_from.x and map.units (index).x < view_from.x + view_to.x
|
and map.units (index).x > view_from.x and map.units (index).x < view_from.x + view_to.x
|
||||||
and map.units (index).y > view_from.y and map.units (index).y < view_from.y + view_to.y then
|
and map.units (index).y > view_from.y and map.units (index).y < view_from.y + view_to.y then
|
||||||
unit.draw (unit.enumeration'val (map.units (index).index),
|
core.draw (data => unit.base (unit.description (unit.enumeration'val (map.units (index).index)).kind),
|
||||||
core.animation'val (map.units (index).state),
|
x => offset.x + (map.units (index).x - core.camera.x) * core.base * core.zoom,
|
||||||
offset.x + (map.units (index).x - core.camera.x) * core.base * core.zoom,
|
y => offset.y + (map.units (index).y - core.camera.y) * core.base * core.zoom,
|
||||||
offset.y + (map.units (index).y - core.camera.y) * core.base * core.zoom);
|
state => core.animation'val (map.units (index).state));
|
||||||
|
--
|
||||||
|
for slot in equipment.slot loop
|
||||||
|
core.draw (data => equipment.sprite (unit.description (unit.enumeration'val (map.units (index).index)).equipments (slot)),
|
||||||
|
x => offset.x + (map.units (index).x - core.camera.x) * core.base * core.zoom,
|
||||||
|
y => offset.y + (map.units (index).y - core.camera.y) * core.base * core.zoom,
|
||||||
|
state => core.animation'val (map.units (index).state));
|
||||||
|
end loop;
|
||||||
--
|
--
|
||||||
core.increment (drawn_units);
|
core.increment (drawn_units);
|
||||||
end if;
|
end if;
|
||||||
|
Loading…
Reference in New Issue
Block a user