mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-24 04:18:11 -08:00
60 lines
2.7 KiB
Lua
60 lines
2.7 KiB
Lua
local body_part_UI_entity = {};
|
|
local config;
|
|
local table_helpers;
|
|
local drawing;
|
|
|
|
function body_part_UI_entity.new(bar, name_label, text_label, value_label, percentage_label)
|
|
local entity = {};
|
|
|
|
entity.bar = table_helpers.deep_copy(bar);
|
|
entity.name_label = table_helpers.deep_copy(name_label);
|
|
entity.text_label = table_helpers.deep_copy(text_label);
|
|
entity.value_label = table_helpers.deep_copy(value_label);
|
|
entity.percentage_label = table_helpers.deep_copy(percentage_label);
|
|
|
|
return entity;
|
|
end
|
|
|
|
function body_part_UI_entity.draw_dynamic(part, position_on_screen, opacity_scale)
|
|
|
|
local part_name = "";
|
|
if config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.part_name then
|
|
part_name = part.name .. " ";
|
|
end
|
|
if config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.break_count and part.break_count ~= 0 then
|
|
part_name = part_name .. "x" .. tostring(part.break_count);
|
|
end
|
|
|
|
drawing.draw_bar(part.body_part_dynamic_UI.bar, position_on_screen, opacity_scale, part.health_percentage);
|
|
|
|
drawing.draw_label(part.body_part_dynamic_UI.name_label, position_on_screen, opacity_scale, part_name);
|
|
drawing.draw_label(part.body_part_dynamic_UI.text_label, position_on_screen, opacity_scale);
|
|
drawing.draw_label(part.body_part_dynamic_UI.value_label, position_on_screen, opacity_scale, part.health, part.max_health);
|
|
drawing.draw_label(part.body_part_dynamic_UI.percentage_label, position_on_screen, opacity_scale, 100 * part.health_percentage);
|
|
end
|
|
|
|
function body_part_UI_entity.draw_static(part, position_on_screen, opacity_scale)
|
|
|
|
local part_name = "";
|
|
if config.current_config.large_monster_UI.static.parts.part_name_label.include.part_name then
|
|
part_name = part.name .. " ";
|
|
end
|
|
if config.current_config.large_monster_UI.static.parts.part_name_label.include.break_count and part.break_count ~= 0 then
|
|
part_name = part_name .. "x" .. tostring(part.break_count);
|
|
end
|
|
|
|
drawing.draw_bar(part.body_part_static_UI.bar, position_on_screen, opacity_scale, part.health_percentage);
|
|
|
|
drawing.draw_label(part.body_part_static_UI.name_label, position_on_screen, opacity_scale, part_name);
|
|
drawing.draw_label(part.body_part_static_UI.text_label, position_on_screen, opacity_scale);
|
|
drawing.draw_label(part.body_part_static_UI.value_label, position_on_screen, opacity_scale, part.health, part.max_health);
|
|
drawing.draw_label(part.body_part_static_UI.percentage_label, position_on_screen, opacity_scale, 100 * part.health_percentage);
|
|
end
|
|
|
|
function body_part_UI_entity.init_module()
|
|
table_helpers = require("MHR_Overlay.Misc.table_helpers");
|
|
drawing = require("MHR_Overlay.UI.drawing");
|
|
config = require("MHR_Overlay.Misc.config");
|
|
end
|
|
|
|
return body_part_UI_entity; |