From 6e59a7b12fb38e2c79c50b5bf462e4e6835c9195 Mon Sep 17 00:00:00 2001 From: Pao Date: Wed, 1 Feb 2023 23:32:16 +0100 Subject: [PATCH] Optimizations test --- media/lua/client/TOC_UI.lua | 409 +++++++++++----------- models_stuff/textures/bodies_textures.psd | Bin 1814554 -> 1830107 bytes 2 files changed, 206 insertions(+), 203 deletions(-) diff --git a/media/lua/client/TOC_UI.lua b/media/lua/client/TOC_UI.lua index 1f1576b..1ad1a4b 100644 --- a/media/lua/client/TOC_UI.lua +++ b/media/lua/client/TOC_UI.lua @@ -133,212 +133,11 @@ local function FindMinMax(lv) return min, max; end ------------------------------------------------- --- On Click Functions -local function OnClickTocMainUI(button, args) - - desc_ui:open() - desc_ui:setPositionPixel(main_ui:getRight(), main_ui:getY()) - SetupTocDescUI(main_ui.surgeon, main_ui.patient, main_ui.limbs_data, args.part_name) -- surgeon is generic. - -end - -local function OnClickTocDescUI(button, args) - - -- Gets every arg from main - local patient = desc_ui.patient - local surgeon = desc_ui.surgeon - - if args.option ~= "Nothing" then - TryTocAction(_, desc_ui.part_name, args.option, surgeon, patient) - end - main_ui:close() - -end - -function OnClickTocConfirmUIMP(button, args) - local player = getPlayer() - if confirm_ui_mp.actionAct == "Cut" and args.option == "yes" then - ISTimedActionQueue.add(ISCutLimb:new(confirm_ui_mp.patient, player, confirm_ui_mp.partNameAct)) - elseif confirm_ui_mp.actionAct == "Operate" and args.option == "yes" then - local playerInv = player:getInventory() - local item = playerInv:getItemFromType('TOC.Real_surgeon_kit') or playerInv:getItemFromType('TOC.Surgeon_kit') or - playerInv:getItemFromType('TOC.Improvised_surgeon_kit') - if item then - ISTimedActionQueue.add(ISOperateLimb:new(confirm_ui_mp.patient, player, item, confirm_ui_mp.partNameAct, - false)) - else - player:Say("I need a kit") - end - - elseif confirm_ui_mp.actionAct == "Equip" and args.option == "yes" then - local surgeon_inventory = player:getInventory() - - local prosthesis_to_equip = surgeon_inventory:getItemFromType('TOC.MetalHand') or - surgeon_inventory:getItemFromType('TOC.MetalHook') or - surgeon_inventory:getItemFromType('TOC.WoodenHook') - - if prosthesis_to_equip then - ISTimedActionQueue.add(ISInstallProsthesis:new(player, confirm_ui_mp.patient, prosthesis_to_equip, - confirm_ui_mp.partNameAct)) - else - player:Say("I don't have a prosthesis right now") - end - - elseif confirm_ui_mp.actionAct == "Unequip" and args.option == "yes" then - - -- We can't check if the player has a prosthesis right now, we need to do it later - - -- TODO should check if player has a prosthesis equipped before doing it - - -- TODO Player is surgeon, but we don't have a confirm_ui_mp.surgeon... awful awful awful - - -- TODO Workaround for now, we'd need to send data from patient before doing it since we can't access his inventory from the surgeon - if confirm_ui_mp.patient == player then - ISTimedActionQueue.add(ISUninstallProsthesis:new(player, confirm_ui_mp.patient, confirm_ui_mp.partNameAct)) - - else - player:Say("I can't do that, they need to do it themselves") - - end - - - - end - - - confirm_ui_mp:close() - confirm_ui_mp.responseReceive = false - -end - ------------------------------------------------ - --- CREATE UI SECTION -function CreateTocMainUI() - main_ui = NewUI() - main_ui:setTitle("The Only Cure Menu") - main_ui:setWidthPercent(0.1) - - main_ui:addImageButton("b11", "", OnClickTocMainUI) - main_ui["b11"]:addArg("part_name", "Right_UpperArm") - - - main_ui:addImageButton("b12", "", OnClickTocMainUI) - main_ui["b12"]:addArg("part_name", "Left_UpperArm") - - main_ui:nextLine() - - main_ui:addImageButton("b21", "", OnClickTocMainUI) - main_ui["b21"]:addArg("part_name", "Right_LowerArm") - - - main_ui:addImageButton("b22", "", OnClickTocMainUI) - main_ui["b22"]:addArg("part_name", "Left_LowerArm") - - main_ui:nextLine() - - main_ui:addImageButton("b31", "", OnClickTocMainUI) - main_ui["b31"]:addArg("part_name", "Right_Hand") - - main_ui:addImageButton("b32", "", OnClickTocMainUI) - main_ui["b32"]:addArg("part_name", "Left_Hand") - - main_ui:saveLayout() - - -end - -function CreateTocDescUI() - -- TODO most of this stuff is just temporary. We can probably wipe this off the face of the earth - desc_ui = NewUI() - desc_ui:setTitle("The only cure description"); - desc_ui:isSubUIOf(main_ui) - desc_ui:setWidthPixel(250) - desc_ui:setColumnWidthPixel(1, 100) - - desc_ui:addText("textTitle", "Right arm", "Large", "Center") - desc_ui:nextLine() - - desc_ui:addText("textLV2", "Level 3/10", _, "Center") - desc_ui:nextLine() - - desc_ui:addText("textLV", "Next LV:", _, "Right") - desc_ui:addProgressBar("pbarNLV", 39, 0, 100) - desc_ui["pbarNLV"]:setMarginPixel(10, 6) - desc_ui:nextLine() - - desc_ui:addEmpty("border1") - desc_ui:setLineHeightPixel(1) - desc_ui["border1"]:setBorder(true) - desc_ui:nextLine() - - desc_ui:addEmpty() - desc_ui:nextLine() - - desc_ui:addText("status", "Temporary", "Medium", "Center") - desc_ui["status"]:setColor(1, 1, 0, 0) - desc_ui:nextLine() - - desc_ui:addEmpty() - desc_ui:nextLine() - - desc_ui:addButton("b1", "Operate", OnClickTocDescUI) -- TODO this is just temporary - - desc_ui:saveLayout() -end - -function CreateTocConfirmUIMP() - confirm_ui_mp = NewUI() - confirm_ui_mp.responseReceive = false - - confirm_ui_mp:addText("text1", "Are you sure?", "Title", "Center"); - confirm_ui_mp:setLineHeightPixel(getTextManager():getFontHeight(confirm_ui_mp.text1.font) + 10) - confirm_ui_mp:nextLine(); - - confirm_ui_mp:addText("text4", "", "Medium", "Center"); - confirm_ui_mp:setLineHeightPixel(getTextManager():getFontHeight(confirm_ui_mp.text4.font) + 10) - confirm_ui_mp:nextLine(); - - confirm_ui_mp:addText("text2", "", _, "Center"); - confirm_ui_mp:nextLine(); - - confirm_ui_mp:addText("text3", "", _, "Center"); - confirm_ui_mp:nextLine(); - - confirm_ui_mp:addEmpty(); - confirm_ui_mp:nextLine(); - - confirm_ui_mp:addEmpty(); - confirm_ui_mp:addButton("b1", "Yes", OnClickTocConfirmUIMP); - confirm_ui_mp.b1:addArg("option", "yes"); - confirm_ui_mp:addEmpty(); - confirm_ui_mp:addButton("b2", "No", OnClickTocConfirmUIMP); - confirm_ui_mp:addEmpty(); - - confirm_ui_mp:nextLine(); - confirm_ui_mp:addEmpty(); - - confirm_ui_mp:saveLayout(); - confirm_ui_mp:addPrerenderFunction(PrerenderFuncMP); - confirm_ui_mp:close(); - -end - --- We create everything from here -function OnCreateTheOnlyCureUI() - CreateTocMainUI() - CreateTocDescUI() - CreateTocConfirmUIMP() - - if isClient() then CreateTocConfirmUIMP() end - main_ui:close() -end ----------------------------------------- -- Setup stuff with variables and shit -function SetupTocMainUI(surgeon, patient, limbs_data) +local function SetupTocMainUI(surgeon, patient, limbs_data) main_ui.surgeon = surgeon -- we shouldn't need an arg for this main_ui.patient = patient @@ -360,7 +159,7 @@ function SetupTocMainUI(surgeon, patient, limbs_data) end -function SetupTocDescUI(surgeon, patient, limbs_data, part_name) +local function SetupTocDescUI(surgeon, patient, limbs_data, part_name) desc_ui["textTitle"]:setText(getText("UI_ContextMenu_" .. part_name)) desc_ui.part_name = part_name desc_ui.surgeon = surgeon @@ -478,6 +277,210 @@ function SetupTocDescUI(surgeon, patient, limbs_data, part_name) end + +------------------------------------------------ +-- On Click Functions +local function OnClickTocMainUI(button, args) + + desc_ui:open() + desc_ui:setPositionPixel(main_ui:getRight(), main_ui:getY()) + SetupTocDescUI(main_ui.surgeon, main_ui.patient, main_ui.limbs_data, args.part_name) -- surgeon is generic. + +end + +local function OnClickTocDescUI(button, args) + + -- Gets every arg from main + local patient = desc_ui.patient + local surgeon = desc_ui.surgeon + + if args.option ~= "Nothing" then + TryTocAction(_, desc_ui.part_name, args.option, surgeon, patient) + end + main_ui:close() + +end + +local function OnClickTocConfirmUIMP(button, args) + local player = getPlayer() + if confirm_ui_mp.actionAct == "Cut" and args.option == "yes" then + ISTimedActionQueue.add(ISCutLimb:new(confirm_ui_mp.patient, player, confirm_ui_mp.partNameAct)) + elseif confirm_ui_mp.actionAct == "Operate" and args.option == "yes" then + local playerInv = player:getInventory() + local item = playerInv:getItemFromType('TOC.Real_surgeon_kit') or playerInv:getItemFromType('TOC.Surgeon_kit') or + playerInv:getItemFromType('TOC.Improvised_surgeon_kit') + if item then + ISTimedActionQueue.add(ISOperateLimb:new(confirm_ui_mp.patient, player, item, confirm_ui_mp.partNameAct, + false)) + else + player:Say("I need a kit") + end + + elseif confirm_ui_mp.actionAct == "Equip" and args.option == "yes" then + local surgeon_inventory = player:getInventory() + + local prosthesis_to_equip = surgeon_inventory:getItemFromType('TOC.MetalHand') or + surgeon_inventory:getItemFromType('TOC.MetalHook') or + surgeon_inventory:getItemFromType('TOC.WoodenHook') + + if prosthesis_to_equip then + ISTimedActionQueue.add(ISInstallProsthesis:new(player, confirm_ui_mp.patient, prosthesis_to_equip, + confirm_ui_mp.partNameAct)) + else + player:Say("I don't have a prosthesis right now") + end + + elseif confirm_ui_mp.actionAct == "Unequip" and args.option == "yes" then + + -- We can't check if the player has a prosthesis right now, we need to do it later + + -- TODO should check if player has a prosthesis equipped before doing it + + -- TODO Player is surgeon, but we don't have a confirm_ui_mp.surgeon... awful awful awful + + -- TODO Workaround for now, we'd need to send data from patient before doing it since we can't access his inventory from the surgeon + if confirm_ui_mp.patient == player then + ISTimedActionQueue.add(ISUninstallProsthesis:new(player, confirm_ui_mp.patient, confirm_ui_mp.partNameAct)) + + else + player:Say("I can't do that, they need to do it themselves") + + end + + + + end + + + confirm_ui_mp:close() + confirm_ui_mp.responseReceive = false + +end + +----------------------------------------------- + +-- CREATE UI SECTION +local function CreateTocMainUI() + main_ui = NewUI() + main_ui:setTitle("The Only Cure Menu") + main_ui:setWidthPercent(0.1) + + main_ui:addImageButton("b11", "", OnClickTocMainUI) + main_ui["b11"]:addArg("part_name", "Right_UpperArm") + + + main_ui:addImageButton("b12", "", OnClickTocMainUI) + main_ui["b12"]:addArg("part_name", "Left_UpperArm") + + main_ui:nextLine() + + main_ui:addImageButton("b21", "", OnClickTocMainUI) + main_ui["b21"]:addArg("part_name", "Right_LowerArm") + + + main_ui:addImageButton("b22", "", OnClickTocMainUI) + main_ui["b22"]:addArg("part_name", "Left_LowerArm") + + main_ui:nextLine() + + main_ui:addImageButton("b31", "", OnClickTocMainUI) + main_ui["b31"]:addArg("part_name", "Right_Hand") + + main_ui:addImageButton("b32", "", OnClickTocMainUI) + main_ui["b32"]:addArg("part_name", "Left_Hand") + + main_ui:saveLayout() + + +end + +local function CreateTocDescUI() + -- TODO most of this stuff is just temporary. We can probably wipe this off the face of the earth + desc_ui = NewUI() + desc_ui:setTitle("The only cure description"); + desc_ui:isSubUIOf(main_ui) + desc_ui:setWidthPixel(250) + desc_ui:setColumnWidthPixel(1, 100) + + desc_ui:addText("textTitle", "Right arm", "Large", "Center") + desc_ui:nextLine() + + desc_ui:addText("textLV2", "Level 3/10", _, "Center") + desc_ui:nextLine() + + desc_ui:addText("textLV", "Next LV:", _, "Right") + desc_ui:addProgressBar("pbarNLV", 39, 0, 100) + desc_ui["pbarNLV"]:setMarginPixel(10, 6) + desc_ui:nextLine() + + desc_ui:addEmpty("border1") + desc_ui:setLineHeightPixel(1) + desc_ui["border1"]:setBorder(true) + desc_ui:nextLine() + + desc_ui:addEmpty() + desc_ui:nextLine() + + desc_ui:addText("status", "Temporary", "Medium", "Center") + desc_ui["status"]:setColor(1, 1, 0, 0) + desc_ui:nextLine() + + desc_ui:addEmpty() + desc_ui:nextLine() + + desc_ui:addButton("b1", "Operate", OnClickTocDescUI) -- TODO this is just temporary + + desc_ui:saveLayout() +end + +local function CreateTocConfirmUIMP() + confirm_ui_mp = NewUI() + confirm_ui_mp.responseReceive = false + + confirm_ui_mp:addText("text1", "Are you sure?", "Title", "Center"); + confirm_ui_mp:setLineHeightPixel(getTextManager():getFontHeight(confirm_ui_mp.text1.font) + 10) + confirm_ui_mp:nextLine(); + + confirm_ui_mp:addText("text4", "", "Medium", "Center"); + confirm_ui_mp:setLineHeightPixel(getTextManager():getFontHeight(confirm_ui_mp.text4.font) + 10) + confirm_ui_mp:nextLine(); + + confirm_ui_mp:addText("text2", "", _, "Center"); + confirm_ui_mp:nextLine(); + + confirm_ui_mp:addText("text3", "", _, "Center"); + confirm_ui_mp:nextLine(); + + confirm_ui_mp:addEmpty(); + confirm_ui_mp:nextLine(); + + confirm_ui_mp:addEmpty(); + confirm_ui_mp:addButton("b1", "Yes", OnClickTocConfirmUIMP); + confirm_ui_mp.b1:addArg("option", "yes"); + confirm_ui_mp:addEmpty(); + confirm_ui_mp:addButton("b2", "No", OnClickTocConfirmUIMP); + confirm_ui_mp:addEmpty(); + + confirm_ui_mp:nextLine(); + confirm_ui_mp:addEmpty(); + + confirm_ui_mp:saveLayout(); + confirm_ui_mp:addPrerenderFunction(PrerenderFuncMP); + confirm_ui_mp:close(); + +end + +-- We create everything from here +function OnCreateTheOnlyCureUI() + CreateTocMainUI() + CreateTocDescUI() + CreateTocConfirmUIMP() + + if isClient() then CreateTocConfirmUIMP() end + main_ui:close() +end + + -------------------------------------------- -- MP Confirm (I should add it to client too but hey not sure how it works tbh) diff --git a/models_stuff/textures/bodies_textures.psd b/models_stuff/textures/bodies_textures.psd index 9ad63556a53492d0dccb8f2029f84648f8a0bd6c..4f406b65eb5481365d59b54ac88086f7896a7560 100644 GIT binary patch delta 35373 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 delta 23322 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 Vgx?NZ|C?j