if (game:issingleplayer() or Engine.InFrontend()) then return end f0_local0 = function(f1_arg0, f1_arg1) LUI.FlowManager.RequestLeaveMenu(f1_arg0) end f0_local1 = function(f2_arg0, f2_arg1) f2_arg0:setText(f2_arg1.message_text) f2_arg0:dispatchEventToRoot({ name = "resize_popup" }) end f0_local2 = function(f3_arg0) Engine.ExecFirstClient("xpartybackout") Engine.ExecFirstClient("disconnect") end local f0_local3 = function(f4_arg0) if Engine.GetDvarBool("squad_match") then Engine.ExecFirstClient("disconnect") else Engine.ExecFirstClient("xpartydisbandafterround") Engine.ExecFirstClient("disconnect") end end local f0_local4 = function(f5_arg0) return Engine.GetOnlineGame() end local f0_local5 = function(f6_arg0) if f0_local4(f6_arg0) then Engine.ExecFirstClient("xstopprivateparty") Engine.ExecFirstClient("disconnect") Engine.ExecFirstClient("xblive_privatematch 0") Engine.ExecFirstClient("onlinegame 1") Engine.ExecFirstClient("xstartprivateparty") else Engine.ExecFirstClient("disconnect") end end local f0_local6 = function(f7_arg0) local f7_local0 = Engine.GetDvarBool("squad_match") Engine.ExecFirstClient("xstopprivateparty") Engine.ExecFirstClient("xpartydisbandafterround") if f7_local0 then Engine.ExecFirstClient("disconnect") Engine.ExecFirstClient("xblive_privatematch 0") Engine.ExecFirstClient("onlinegame 1") Engine.ExecFirstClient("xstartprivateparty") else Engine.NotifyServer("end_game", 1) Engine.ExecFirstClient("xstartprivateparty") end end local f0_local7 = function(f8_arg0, f8_arg1) local f8_local0 = Engine.GetDvarBool("sv_running") Game.HandleLeavePauseMenu() if f8_local0 then Engine.NotifyServer("end_game", 1) else f0_local5(f8_arg0) end LUI.FlowManager.RequestCloseAllMenus(f8_arg0) end local f0_local8 = function(f9_arg0, f9_arg1) LUI.FlowManager.RequestLeaveMenu(f9_arg0) Game.HandleLeavePauseMenu() Engine.Exec("onPlayerQuit") local f9_local0 = Engine.GetDvarBool("sv_running") if Engine.GetDvarBool("squad_match") then Squad.PostMatch(0, 0, 0, 0, true) end if f9_local0 then f0_local3(f9_arg0) else f0_local2(f9_arg0) end LUI.FlowManager.RequestCloseAllMenus(f9_arg0) end local f0_local9 = function(f10_arg0, f10_arg1) LUI.FlowManager.RequestLeaveMenu(f10_arg0) Game.HandleLeavePauseMenu() Engine.Exec("onPlayerQuit") local f10_local0 = Engine.GetDvarBool("sv_running") if Engine.GetDvarBool("squad_match") then Squad.PostMatch(0, 0, 0, 0, true) end if f10_local0 then f0_local6(f10_arg0) else f0_local5(f10_arg0) end LUI.FlowManager.RequestCloseAllMenus(f10_arg0) end local f0_local10 = function(f11_arg0) local f11_local0 = Lobby.IsInPrivateParty() if f11_local0 then f11_local0 = Lobby.IsPrivatePartyHost() if f11_local0 then f11_local0 = not Lobby.IsAloneInPrivateParty() end end return f11_local0 end local f0_local11 = function(f12_arg0, f12_arg1) if f0_local10(f12_arg0) then LUI.FlowManager.RequestLeaveMenu(f12_arg0, true) LUI.FlowManager.RequestAddMenu(f12_arg0, "popup_pull_party", false) else Game.HandleLeavePauseMenu() Engine.Exec("onPlayerQuit") local f12_local0 = Engine.GetDvarBool("sv_running") if Engine.GetDvarBool("squad_match") then Squad.PostMatch(0, 0, 0, 0, true) end if f12_local0 then f0_local6(f12_arg0) else f0_local5(f12_arg0) end LUI.FlowManager.RequestCloseAllMenus(f12_arg0) end end local f0_local12 = function() local self = LUI.UIElement.new() self.id = "end_game_id" self:registerAnimationState("default", { topAnchor = true, leftAnchor = true, bottomAnchor = true, rightAnchor = true, top = 0, left = 0, bottom = 0, right = 0, alpha = 1 }) self:animateToState("default", 0) LUI.MenuBuilder.BuildAddChild(self, { type = "generic_yesno_popup", id = "privateGame_options_list_id", properties = { message_text_alignment = LUI.Alignment.Left, message_text = Engine.Localize("@LUA_MENU_END_GAME_DESC"), popup_title = Engine.Localize("@LUA_MENU_LEAVE_GAME_TITLE"), padding_top = 12, yes_action = f0_local7 } }) local f13_local1 = LUI.UIBindButton.new() f13_local1.id = "endBackToGameStartButton" f13_local1:registerEventHandler("button_start", f0_local0) self:addElement(f13_local1) return self end local f0_local13 = function() local self = LUI.UIElement.new() self.id = "leave_game_id" self:registerAnimationState("default", { topAnchor = true, leftAnchor = true, bottomAnchor = true, rightAnchor = true, top = 0, left = 0, bottom = 0, right = 0, alpha = 1 }) self:animateToState("default", 0) LUI.MenuBuilder.BuildAddChild(self, { type = "generic_yesno_popup", id = "publicGame_options_list_id", properties = { message_text_alignment = LUI.Alignment.Left, message_text = Engine.Localize("@LUA_MENU_LEAVE_GAME_DESC"), popup_title = Engine.Localize("@LUA_MENU_LEAVE_GAME_TITLE"), padding_top = 12, yes_action = f0_local11 } }) local f14_local1 = LUI.UIBindButton.new() f14_local1.id = "leaveBackToGameStartButton" f14_local1:registerEventHandler("button_start", f0_local0) self:addElement(f14_local1) return self end local f0_local14 = function() local self = LUI.UIElement.new() self.id = "pull_party_out_id" self:registerAnimationState("default", { topAnchor = true, leftAnchor = true, bottomAnchor = true, rightAnchor = true, top = 0, left = 0, bottom = 0, right = 0, alpha = 1 }) self:animateToState("default", 0) LUI.MenuBuilder.BuildAddChild(self, { type = "generic_yesno_popup", id = "party_pullout_list_id", properties = { message_text_alignment = LUI.Alignment.Left, message_text = Engine.Localize("@LUA_MENU_PULL_PARTY_DESC"), popup_title = Engine.Localize("@LUA_MENU_LEAVE_GAME_TITLE"), padding_top = 12, yes_action = f0_local8, no_action = f0_local9, cancel_means_no = false } }) local f15_local1 = LUI.UIBindButton.new() f15_local1.id = "leavePullPartyButton" f15_local1:registerEventHandler("button_start", f0_local0) self:addElement(f15_local1) return self end LUI.MenuBuilder.m_types_build["popup_end_game"] = f0_local12 LUI.MenuBuilder.m_types_build["popup_leave_game"] = f0_local13 LUI.MenuBuilder.m_types_build["popup_pull_party"] = f0_local14