diff --git a/source/attribute.ads b/source/attribute.ads index 421d524..00cb1e7 100644 --- a/source/attribute.ads +++ b/source/attribute.ads @@ -41,10 +41,6 @@ package attribute is icon : array (enumeration) of core.sprite; - ------------------------------------------------------------------------------------------ - - procedure draw_points (data : in points; x, y : in integer); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end attribute; diff --git a/source/chad.adb b/source/chad.adb index e3ee2df..5ce50b7 100644 --- a/source/chad.adb +++ b/source/chad.adb @@ -76,7 +76,16 @@ package body chad is size => 15, code => true); -- - attribute.draw_points (player.attributes, x, y + 96 + 3 * offset); + declare move_x : integer := x; + begin + for index in attribute.enumeration loop + ui.draw_icon (attribute.icon (index), -(attribute.description (index).text), move_x, y + 96 + 3 * offset); + ui.draw_text_box (move_x, y + 96 + 3 * offset + core.icon, core.icon, core.icon); + ui.write (player.attributes (index).value'image, move_x + 4, y + 96 + 3 * offset + core.icon + 8, (255, 255, 255, 255), 15, true); + -- + move_x := move_x + core.icon; + end loop; + end; -- for index_y in 0 .. 3 loop for index_x in 0 .. 5 loop @@ -87,7 +96,23 @@ package body chad is end loop; end loop; -- - skill.draw_points (player.skills, x, y + 96 + 5 * offset + 6 * core.icon); + declare move_x : integer := x; + move_y : integer := y + 96 + 5 * offset + 6 * core.icon; + begin + for index in skill.enumeration loop + if (skill.enumeration'pos (index) + 1) mod (skill.count / 2 + 1) = 0 then + move_x := x + 2 * core.icon + 120; + move_y := y + 96 + 5 * offset + 6 * core.icon; + end if; + -- + ui.draw_icon (skill.icon (index), -(skill.description (index).text), move_x, move_y); + ui.draw_text_box (move_x + core.icon, move_y, core.icon, core.icon); + ui.write (player.skills (index).value'image, move_x + core.icon, move_y + 8, (255, 255, 255, 255), 15, true); + ui.write (-(skill.description (index).name), move_x + 2 * core.icon + 4, move_y + 8, (255, 255, 255, 255), 15, true); + -- + move_y := move_y + core.icon; + end loop; + end; end draw_data; ------------------------------------------------------------------------------------------ diff --git a/source/main.adb b/source/main.adb index d243044..43385ae 100644 --- a/source/main.adb +++ b/source/main.adb @@ -9,9 +9,7 @@ with core, ui, effect, attribute, skill, resource, faction, deity, material, mag with ada.strings.unbounded; use ada.strings.unbounded; -use type core.point; -use type core.signal_code; -use type core.cursor_code; +use core; procedure main is @@ -355,7 +353,16 @@ begin factor => 1); end loop; -- - resource.draw_points (world.map.chads (1).resources, (preview_width - 5 * core.icon * resource.count) / 2, core.base); + for index in resource.enumeration loop + ui.draw_icon (resource.icon (index), -(resource.description (index).text), (preview_width - 6 * core.icon * resource.count) / 2 + (6 * core.icon) * resource.enumeration'pos (index), core.base); + ui.draw_frame (-(resource.description (index).text), (preview_width - 6 * core.icon * resource.count) / 2 + (6 * core.icon) * resource.enumeration'pos (index) + core.icon, core.base, 6 * core.icon, core.icon); + -- + ui.write (text => world.map.chads (1).resources (index).value'image & " /" & world.map.chads (1).resources (index).limit'image, + x => (preview_width - 6 * core.icon * resource.count) / 2 + (6 * core.icon) * resource.enumeration'pos (index) + core.icon - 1, + y => core.base + 7, + size => 18); + end loop; + -- material.draw_points (world.map.chads (1).materials, (preview_width - core.icon * material.count) / 2, core.base + core.icon); -- signal_list (core.signal_mode).all; diff --git a/source/resource.ads b/source/resource.ads index 11f422a..d0d5ad1 100644 --- a/source/resource.ads +++ b/source/resource.ads @@ -39,10 +39,6 @@ package resource is icon : array (enumeration) of core.sprite; - ------------------------------------------------------------------------------------------ - - procedure draw_points (data : in points; x, y : in integer); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end resource; diff --git a/source/skill.ads b/source/skill.ads index b5b07be..9303680 100644 --- a/source/skill.ads +++ b/source/skill.ads @@ -55,12 +55,6 @@ package skill is icon : array (enumeration) of core.sprite; - ------------------------------------------------------------------------------------------ - - procedure draw_points (data : in points := (others => (0, 0)); - x : in integer := 0; - y : in integer := 0); - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end skill;