Refactoring player information sub-menu...
This commit is contained in:
parent
18e81b2d2c
commit
1930b02b30
149
source/main.adb
149
source/main.adb
@ -137,6 +137,81 @@ procedure main is
|
|||||||
procedure zoom_in is begin core.zoom := 2; end zoom_in;
|
procedure zoom_in is begin core.zoom := 2; end zoom_in;
|
||||||
procedure zoom_out is begin core.zoom := 1; end zoom_out;
|
procedure zoom_out is begin core.zoom := 1; end zoom_out;
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure player_information is
|
||||||
|
x : constant integer := preview_width + core.icon;
|
||||||
|
y : constant integer := core.icon;
|
||||||
|
width : constant integer := side_panel - 2 * core.icon;
|
||||||
|
height : constant integer := 640;
|
||||||
|
offset : constant integer := 8;
|
||||||
|
begin
|
||||||
|
ui.draw_frame ("--", x, y, width, height);
|
||||||
|
ui.draw_sprite (chad.view (player.index), chad.description (player.index).name.all, x + offset, y + offset, 0);
|
||||||
|
ui.draw_text_box (x + chad.view_width + 2 * offset, y + offset, width - chad.view_width - 3 * offset, core.icon);
|
||||||
|
ui.write (chad.description (player.index).name.all, x + chad.view_width + 2 * offset + 5, y + offset + 5);
|
||||||
|
--
|
||||||
|
declare move_x : integer := x + chad.view_width + 2 * offset;
|
||||||
|
begin
|
||||||
|
for index in attribute.enumeration loop
|
||||||
|
ui.draw_icon (attribute.icon (index), attribute.description (index).text.all, move_x, y + core.icon + offset);
|
||||||
|
ui.draw_text_box (move_x, y + 2 * core.icon + offset, core.icon, core.icon);
|
||||||
|
ui.write (player.attributes (index).value'image, move_x + 3, y + 2 * core.icon + offset + 9, code => true);
|
||||||
|
--
|
||||||
|
move_x := move_x + core.icon;
|
||||||
|
end loop;
|
||||||
|
end;
|
||||||
|
--~ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 1 * core.icon + 8, 360 - chad.view_width - 8, float (player.health.value) / float (player.health.limit), (127, 0, 0, 255));
|
||||||
|
--~ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 2 * core.icon + 8, 360 - chad.view_width - 8, float (player.mana.value) / float (player.mana.limit), (0, 0, 127, 255));
|
||||||
|
--~ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 3 * core.icon + 8, 360 - chad.view_width - 8, float (player.movement.value) / float (player.movement.limit), (0, 127, 0, 255));
|
||||||
|
--
|
||||||
|
--~ui.write (text => "Health " & player.health.value'image & " /" & player.health.limit'image,
|
||||||
|
--~x => x + chad.view_width + core.icon + 3 * 8,
|
||||||
|
--~y => y + 2 * 8,
|
||||||
|
--~tint => (255, 127, 127, 255),
|
||||||
|
--~size => 15,
|
||||||
|
--~code => true);
|
||||||
|
--~ui.write (text => "Mana " & player.mana.value'image & " /" & player.mana.limit'image,
|
||||||
|
--~x => x + chad.view_width + core.icon + 3 * 8,
|
||||||
|
--~y => y + core.icon + 2 * 8,
|
||||||
|
--~tint => (127, 127, 255, 255),
|
||||||
|
--~size => 15,
|
||||||
|
--~code => true);
|
||||||
|
--~ui.write (text => "Stamina" & player.movement.value'image & " /" & player.movement.limit'image,
|
||||||
|
--~x => x + chad.view_width + core.icon + 3 * 8,
|
||||||
|
--~y => y + 2 * core.icon + 2 * 8,
|
||||||
|
--~tint => (127, 255, 127, 255),
|
||||||
|
--~size => 15,
|
||||||
|
--~code => true);
|
||||||
|
--
|
||||||
|
--~for index_y in 0 .. 3 loop
|
||||||
|
--~for index_x in 0 .. 5 loop
|
||||||
|
--~ui.draw_icon (data => equipment.icon (player.items (6 * index_y + index_x)),
|
||||||
|
--~text => equipment.description (player.items (6 * index_y + index_x)).name.all,
|
||||||
|
--~x => x + index_x * core.icon,
|
||||||
|
--~y => y + 96 + 4 * 8 + 2 * core.icon + index_y * core.icon);
|
||||||
|
--~end loop;
|
||||||
|
--~end loop;
|
||||||
|
--
|
||||||
|
--~declare move_x : integer := x;
|
||||||
|
--~move_y : integer := y + 96 + 5 * 8 + 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 * 8 + 6 * core.icon;
|
||||||
|
--~end if;
|
||||||
|
--~--
|
||||||
|
--~ui.draw_icon (skill.icon (index), skill.description (index).text.all, 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, (others => 255), 15, true);
|
||||||
|
--~ui.write (skill.description (index).name.all, move_x + 2 * core.icon + 4, move_y + 8, (others => 255), 15, true);
|
||||||
|
--~--
|
||||||
|
--~move_y := move_y + core.icon;
|
||||||
|
--~end loop;
|
||||||
|
--~end;
|
||||||
|
end player_information;
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -294,7 +369,7 @@ begin
|
|||||||
|
|
||||||
--~core.cursor_mode := core.cursor_none;
|
--~core.cursor_mode := core.cursor_none;
|
||||||
|
|
||||||
--~world.load ("heyo");
|
world.load ("heyo");
|
||||||
|
|
||||||
ui.active := ui.style'val (faction.enumeration'pos (chad.description (player.index).kind) + 1);
|
ui.active := ui.style'val (faction.enumeration'pos (chad.description (player.index).kind) + 1);
|
||||||
|
|
||||||
@ -322,75 +397,7 @@ begin
|
|||||||
if view_list (status_preview_panel) then
|
if view_list (status_preview_panel) then
|
||||||
ui.draw_tiny_menu (preview_width, 0, side_panel, preview_height);
|
ui.draw_tiny_menu (preview_width, 0, side_panel, preview_height);
|
||||||
--
|
--
|
||||||
declare player : chad.information := world.map.chads (1);
|
player_information;
|
||||||
x : integer := preview_width + core.icon;
|
|
||||||
y : integer := core.icon;
|
|
||||||
begin
|
|
||||||
ui.draw_frame ("--", x, y, 360 + 2 * 8, 96 + 2 * 8);
|
|
||||||
--
|
|
||||||
ui.draw_sprite (chad.view (player.index), chad.description (player.index).name.all, x + 8, y + 8, 0);
|
|
||||||
--
|
|
||||||
ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 1 * core.icon + 8, 360 - chad.view_width - 8, float (player.health.value) / float (player.health.limit), (127, 0, 0, 255));
|
|
||||||
ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 2 * core.icon + 8, 360 - chad.view_width - 8, float (player.mana.value) / float (player.mana.limit), (0, 0, 127, 255));
|
|
||||||
ui.draw_tiny_fill_bar (x + chad.view_width + 2 * 8, y + 3 * core.icon + 8, 360 - chad.view_width - 8, float (player.movement.value) / float (player.movement.limit), (0, 127, 0, 255));
|
|
||||||
--
|
|
||||||
ui.write (text => "Health " & player.health.value'image & " /" & player.health.limit'image,
|
|
||||||
x => x + chad.view_width + core.icon + 3 * 8,
|
|
||||||
y => y + 2 * 8,
|
|
||||||
tint => (255, 127, 127, 255),
|
|
||||||
size => 15,
|
|
||||||
code => true);
|
|
||||||
ui.write (text => "Mana " & player.mana.value'image & " /" & player.mana.limit'image,
|
|
||||||
x => x + chad.view_width + core.icon + 3 * 8,
|
|
||||||
y => y + core.icon + 2 * 8,
|
|
||||||
tint => (127, 127, 255, 255),
|
|
||||||
size => 15,
|
|
||||||
code => true);
|
|
||||||
ui.write (text => "Stamina" & player.movement.value'image & " /" & player.movement.limit'image,
|
|
||||||
x => x + chad.view_width + core.icon + 3 * 8,
|
|
||||||
y => y + 2 * core.icon + 2 * 8,
|
|
||||||
tint => (127, 255, 127, 255),
|
|
||||||
size => 15,
|
|
||||||
code => true);
|
|
||||||
--
|
|
||||||
declare move_x : integer := x;
|
|
||||||
begin
|
|
||||||
for index in attribute.enumeration loop
|
|
||||||
ui.draw_icon (attribute.icon (index), attribute.description (index).text.all, move_x, y + 96 + 3 * 8);
|
|
||||||
ui.draw_text_box (move_x, y + 96 + 3 * 8 + core.icon, core.icon, core.icon);
|
|
||||||
ui.write (player.attributes (index).value'image, move_x + 4, y + 96 + 3 * 8 + core.icon + 8, (others => 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
|
|
||||||
ui.draw_icon (data => equipment.icon (player.items (6 * index_y + index_x)),
|
|
||||||
text => equipment.description (player.items (6 * index_y + index_x)).name.all,
|
|
||||||
x => x + index_x * core.icon,
|
|
||||||
y => y + 96 + 4 * 8 + 2 * core.icon + index_y * core.icon);
|
|
||||||
end loop;
|
|
||||||
end loop;
|
|
||||||
--
|
|
||||||
declare move_x : integer := x;
|
|
||||||
move_y : integer := y + 96 + 5 * 8 + 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 * 8 + 6 * core.icon;
|
|
||||||
end if;
|
|
||||||
--
|
|
||||||
ui.draw_icon (skill.icon (index), skill.description (index).text.all, 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, (others => 255), 15, true);
|
|
||||||
ui.write (skill.description (index).name.all, move_x + 2 * core.icon + 4, move_y + 8, (others => 255), 15, true);
|
|
||||||
--
|
|
||||||
move_y := move_y + core.icon;
|
|
||||||
end loop;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
--
|
--
|
||||||
ui.draw_end_turn_button (x => core.window_width - side_panel + side_panel / 2 - core.icon,
|
ui.draw_end_turn_button (x => core.window_width - side_panel + side_panel / 2 - core.icon,
|
||||||
y => core.window_height - core.icon - text_box_height - 106 - 2 * core.icon);
|
y => core.window_height - core.icon - text_box_height - 106 - 2 * core.icon);
|
||||||
@ -468,4 +475,6 @@ begin
|
|||||||
|
|
||||||
core.dash;
|
core.dash;
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
end main;
|
end main;
|
||||||
|
Loading…
Reference in New Issue
Block a user