redoing mp stuff

This commit is contained in:
Pao
2023-01-22 23:46:35 +01:00
parent ce4e6ec9de
commit 739a358925
8 changed files with 146 additions and 65 deletions

View File

@@ -31,8 +31,7 @@ end
------------------------------
-- UI Visible stuff functions
local function GetImageName(part_name, toc_data)
local part_data = toc_data.Limbs[part_name]
local function GetImageName(part_name, part_data)
local name = ""
if part_data.is_cut and part_data.is_cicatrized and part_data.is_prosthesis_equipped then -- Cut and equip
@@ -59,9 +58,9 @@ local function GetImageName(part_name, toc_data)
end
-- If foreaerm equip, change hand
if part_name == "Right_Hand" and toc_data.Limbs["Right_LowerArm"].is_prosthesis_equipped then
if part_name == "Right_Hand" and part_data["Right_LowerArm"].is_prosthesis_equipped then
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
elseif part_name == "Left_Hand" and toc_data.Limbs["Left_LowerArm"].is_prosthesis_equipped then
elseif part_name == "Left_Hand" and part_data["Left_LowerArm"].is_prosthesis_equipped then
name = "media/ui/TOC/" .. part_name .. "/Hook.png"
end
return name
@@ -137,7 +136,7 @@ local function OnClickTocMainUI(button, args)
desc_ui:open()
desc_ui:setPositionPixel(main_ui:getRight(), main_ui:getY())
SetupTocDescUI(main_ui.surgeon, main_ui.patient, args.toc_data, args.part_name) -- surgeon is generic.
SetupTocDescUI(main_ui.surgeon, main_ui.patient, args.part_data, args.part_name) -- surgeon is generic.
end
@@ -351,37 +350,36 @@ end
-----------------------------------------
-- Setup stuff with variables and shit
function SetupTocMainUI(surgeon, patient, toc_data)
function SetupTocMainUI(surgeon, patient, part_data)
-- TODO add a ontick to update it regularly
main_ui.surgeon = surgeon -- we shouldn't need an arg for this
main_ui.patient = patient
if toc_data then
main_ui["b11"]:addArg("toc_data", toc_data)
main_ui["b12"]:addArg("toc_data", toc_data)
main_ui["b21"]:addArg("toc_data", toc_data)
main_ui["b22"]:addArg("toc_data", toc_data)
main_ui["b31"]:addArg("toc_data", toc_data)
main_ui["b32"]:addArg("toc_data", toc_data)
if part_data then
main_ui["b11"]:addArg("part_data", part_data)
main_ui["b12"]:addArg("part_data", part_data)
main_ui["b21"]:addArg("part_data", part_data)
main_ui["b22"]:addArg("part_data", part_data)
main_ui["b31"]:addArg("part_data", part_data)
main_ui["b32"]:addArg("part_data", part_data)
main_ui["b11"]:setPath(GetImageName("Right_UpperArm", toc_data))
main_ui["b12"]:setPath(GetImageName("Left_UpperArm", toc_data))
main_ui["b11"]:setPath(GetImageName("Right_UpperArm", part_data))
main_ui["b12"]:setPath(GetImageName("Left_UpperArm", part_data))
main_ui["b21"]:setPath(GetImageName("Right_LowerArm", toc_data))
main_ui["b22"]:setPath(GetImageName("Left_LowerArm", toc_data))
main_ui["b21"]:setPath(GetImageName("Right_LowerArm", part_data))
main_ui["b22"]:setPath(GetImageName("Left_LowerArm", part_data))
main_ui["b31"]:setPath(GetImageName("Right_Hand", toc_data))
main_ui["b32"]:setPath(GetImageName("Left_Hand", toc_data))
main_ui["b31"]:setPath(GetImageName("Right_Hand", part_data))
main_ui["b32"]:setPath(GetImageName("Left_Hand", part_data))
end
end
function SetupTocDescUI(surgeon, patient, toc_data, part_name)
local part_data = toc_data.Limbs[part_name]
function SetupTocDescUI(surgeon, patient, part_data, part_name)
desc_ui["textTitle"]:setText(getText("UI_ContextMenu_" .. part_name))
desc_ui.part_name = part_name
desc_ui.surgeon = surgeon
@@ -454,11 +452,11 @@ function SetupTocDescUI(surgeon, patient, toc_data, part_name)
-- TODO add check for cuts and scratches
desc_ui["status"]:setText("Not cut")
desc_ui["status"]:setColor(1, 1, 1, 1)
if TocGetSawInInventory(surgeon) and not CheckIfProsthesisAlreadyInstalled(toc_data.Limbs, part_name) then
if TocGetSawInInventory(surgeon) and not CheckIfProsthesisAlreadyInstalled(part_data, part_name) then
desc_ui["b1"]:setVisible(true)
desc_ui["b1"]:setText("Cut")
desc_ui["b1"]:addArg("option", "Cut")
elseif TocGetSawInInventory(surgeon) and CheckIfProsthesisAlreadyInstalled(toc_data.Limbs, part_name) then
elseif TocGetSawInInventory(surgeon) and CheckIfProsthesisAlreadyInstalled(part_data, part_name) then
desc_ui["b1"]:setVisible(true)
desc_ui["b1"]:setText("Remove prosthesis before")
desc_ui["b1"]:addArg("option", "Nothing")
@@ -547,20 +545,29 @@ function ISNewHealthPanel.onClick_TOC(button)
if surgeon then
if surgeon == patient then
SetupTocMainUI(surgeon, surgeon, surgeon:getModData().TOC)
SetupTocMainUI(surgeon, surgeon, surgeon:getModData().TOC.Limbs)
else
-- MP stuff, try to get the other player data and display it on the surgeon display
sendClientCommand(surgeon, "TOC", "GetPlayerData", { surgeon:getOnlineID(), patient:getOnlineID() })
if ModData.get("TOC_PLAYER_DATA")[patient:getUsername()] ~= nil then
local other_player_part_data = ModData.get("TOC_PLAYER_DATA")[patient:getUsername()]
TocTempTable.TempPatient = patient
TocTempTable.TempSurgeon = surgeon
SetupTocMainUI(surgeon, patient, other_player_part_data[1])
end
--sendClientCommand(surgeon, "TOC", "GetPlayerData", { surgeon:getOnlineID(), patient:getOnlineID() })
--TocTempTable.TempPatient = patient
--TocTempTable.TempSurgeon = surgeon
-- Wait for ack
Events.OnTick.Add(TocWaitForOnlinePlayerData)
--Events.OnTick.Add(TocWaitForOnlinePlayerData)
end
else
-- This is when surgeon doesnt exist for some reason.
SetupTocMainUI(patient, patient, patient:getModData().TOC)
SetupTocMainUI(patient, patient, patient:getModData().TOC.Limbs)
end
main_ui:toggle()