iw6-lui/lui/bootscreenmargins.dec.lua
2024-09-12 17:25:45 +02:00

286 lines
8.3 KiB
Lua

local f0_local0 = module
local f0_local1, f0_local2 = ...
f0_local0( f0_local1, package.seeall )
DebugPrint( "Registering " .. _NAME )
f0_local0 = function ( f1_arg0, f1_arg1 )
local f1_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f1_arg0 )
f1_local0.ContinueMessageVisible = false
if f1_arg0.properties.linkTo == "controls" then
f1_local0.ContinueMessageVisible = true
f1_arg0:dispatchEventToRoot( {
name = "continue_message_visible"
} )
end
f1_local0.OriginalVertMargin = Engine.GetDvarFloat( "profileMenuOption_safeAreaVert" )
f1_local0.OriginalHorzMargin = Engine.GetDvarFloat( "profileMenuOption_safeAreaHorz" )
f1_local0.VertMarginMinAmount = SliderBounds.VertMargin.Min
f1_local0.VertMarginMaxAmount = SliderBounds.VertMargin.Max
f1_local0.VertMarginIncrement = SliderBounds.VertMargin.Step
f1_local0.HorzMarginMinAmount = SliderBounds.HorzMargin.Min
f1_local0.HorzMarginMaxAmount = SliderBounds.HorzMargin.Max
f1_local0.HorzMarginIncrement = SliderBounds.HorzMargin.Step
f1_arg0:dispatchEventToChildren( {
name = "vertical_margin_over"
} )
f1_arg0:dispatchEventToChildren( {
name = "horizontal_margin_over"
} )
end
f0_local1 = function ( f2_arg0, f2_arg1, f2_arg2, f2_arg3, f2_arg4, f2_arg5 )
local f2_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f2_arg0 )
local f2_local1 = math.min( f2_arg2, math.max( f2_arg1, Engine.GetDvarFloat( f2_arg4 ) + f2_arg3 ) )
Engine.SetDvarFloat( f2_arg4, f2_local1 )
Engine.ExecNow( "profile_menuDvarsFinish" )
f2_arg0:dispatchEventToRoot( {
name = "margin_updated"
} )
if f2_local1 <= f2_arg1 or f2_arg2 <= f2_local1 then
Engine.PlaySound( CoD.SFX.DenyAdjustSafeArea )
else
Engine.PlaySound( CoD.SFX.AdjustSafeArea )
end
if f2_local0.ContinueMessageVisible == false and f2_local1 ~= f2_arg5 then
f2_local0.ContinueMessageVisible = true
f2_arg0:dispatchEventToRoot( {
name = "continue_message_visible"
} )
end
end
f0_local2 = function ( f3_arg0, f3_arg1 )
local f3_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f3_arg0 )
if f3_local0.ContinueMessageVisible then
local f3_local1 = LUI.FlowManager.RequestAddMenu
local f3_local2 = f3_arg0
local f3_local3 = f3_arg0.properties.linkTo
local f3_local4 = f3_arg0:getParent()
f3_local1( f3_local2, f3_local3, f3_local4.properties.continueExclusive, f3_arg1.controller, true, {
focusSafeArea = true
} )
end
end
function boot_screen_margins()
return {
type = "UIElement",
id = "boot_screen_margins_id",
states = {
default = {
topAnchor = true,
bottomAnchor = true,
leftAnchor = true,
rightAnchor = true,
top = 0,
bottom = 0,
left = 0,
right = 0
}
},
handlers = {
menu_create = f0_local0
},
properties = {
linkTo = "main_menu",
continueExclusive = false
},
children = {
{
type = "margins_guide"
},
{
type = "UIText",
id = "boot_screen_margins_title_txt_id",
properties = {
text = Engine.Localize( "@MENU_HUD_MARGINS_CAPS" )
},
states = {
default = {
topAnchor = true,
bottomAnchor = false,
leftAnchor = true,
rightAnchor = true,
top = 60,
bottom = 60 + CoD.TextSettings.ExtraBigFont.Height,
left = 100,
right = 0,
font = CoD.TextSettings.ExtraBigFont.Font,
alignment = LUI.Alignment.Left
}
}
},
{
type = "UIText",
id = "boot_screen_margins_instruction_txt1_id",
properties = {
text = Engine.Localize( "@MENU_ADJUST_SCREENMARGINS" )
},
states = {
default = {
topAnchor = true,
bottomAnchor = false,
leftAnchor = true,
rightAnchor = true,
top = 210,
bottom = 210 + CoD.TextSettings.NormalFont.Height,
left = 0,
right = 0,
font = CoD.TextSettings.NormalFont.Font,
alignment = LUI.Alignment.Center,
red = Colors.primary_text_color.r,
green = Colors.primary_text_color.g,
blue = Colors.primary_text_color.b
}
}
},
{
type = "UIText",
id = "boot_screen_margins_instruction_txt2_id",
properties = {
text = Engine.Localize( "@MENU_ADJUST_SCREENMARGINS_DESC" )
},
states = {
default = {
topAnchor = true,
bottomAnchor = false,
leftAnchor = true,
rightAnchor = true,
top = 210 + CoD.TextSettings.NormalFont.Height,
bottom = 210 + 2 * CoD.TextSettings.NormalFont.Height,
left = 0,
right = 0,
font = CoD.TextSettings.NormalFont.Font,
alignment = LUI.Alignment.Center,
red = Colors.primary_text_color.r,
green = Colors.primary_text_color.g,
blue = Colors.primary_text_color.b
}
}
},
{
type = "UIText",
id = "boot_screen_margins_instruction_txt3_id",
properties = {
text = Engine.Localize( "@MENU_ADJUST_SCREENMARGINS_INST1" )
},
states = {
default = {
topAnchor = false,
bottomAnchor = false,
leftAnchor = true,
rightAnchor = true,
top = -1.2 * CoD.TextSettings.BoldFont.Height,
bottom = 0,
left = 0,
right = 0,
font = CoD.TextSettings.BoldFont.Font,
alignment = LUI.Alignment.Center,
red = Colors.primary_text_color.r,
green = Colors.primary_text_color.g,
blue = Colors.primary_text_color.b
}
}
},
{
type = "UIText",
id = "boot_screen_margins_instruction_txt4_id",
properties = {
text = Engine.Localize( "@MENU_ADJUST_SCREENMARGINS_INST2" )
},
states = {
default = {
topAnchor = false,
bottomAnchor = false,
leftAnchor = true,
rightAnchor = true,
top = 0,
bottom = 1.2 * CoD.TextSettings.BoldFont.Height,
left = 0,
right = 0,
font = CoD.TextSettings.BoldFont.Font,
alignment = LUI.Alignment.Center,
red = Colors.primary_text_color.r,
green = Colors.primary_text_color.g,
blue = Colors.primary_text_color.b
}
}
},
{
type = "UIButton",
id = "boot_screen_margins_continue_btn_id",
states = {
default = {
topAnchor = false,
bottomAnchor = true,
leftAnchor = false,
rightAnchor = false,
top = -1 * (CoD.TextSettings.BoldFont.Height + 105),
bottom = -100,
left = -200,
right = 200,
alpha = 0
},
visible = {
alpha = 1
}
},
handlers = {
button_action = f0_local2,
continue_message_visible = MBh.AnimateToState( "visible", 0 )
},
children = {
{
type = "UIText",
properties = {
text = Engine.Localize( "@PLATFORM_UI_PRESS_TO_CONTINUE" )
},
states = {
default = {
topAnchor = true,
bottomAnchor = true,
leftAnchor = true,
rightAnchor = true,
top = 0,
bottom = 0,
left = 0,
right = 0,
font = CoD.TextSettings.NormalFont.Font,
alignment = LUI.Alignment.Center
}
}
}
}
},
{
type = "UIBindButton",
id = "boot_screen_margins_bind_btn_id",
handlers = {
button_up = function ( f5_arg0, f5_arg1 )
local f5_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f5_arg0 )
f0_local1( f5_arg0, f5_local0.VertMarginMinAmount, f5_local0.VertMarginMaxAmount, f5_local0.VertMarginIncrement, "profileMenuOption_safeAreaVert", f5_local0.OriginalVertMargin )
end
,
button_down = function ( f6_arg0, f6_arg1 )
local f6_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f6_arg0 )
f0_local1( f6_arg0, f6_local0.VertMarginMinAmount, f6_local0.VertMarginMaxAmount, -f6_local0.VertMarginIncrement, "profileMenuOption_safeAreaVert", f6_local0.OriginalVertMargin )
end
,
button_left = function ( f7_arg0, f7_arg1 )
local f7_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f7_arg0 )
f0_local1( f7_arg0, f7_local0.HorzMarginMinAmount, f7_local0.HorzMarginMaxAmount, -f7_local0.HorzMarginIncrement, "profileMenuOption_safeAreaHorz", f7_local0.OriginalHorzMargin )
end
,
button_right = function ( f8_arg0, f8_arg1 )
local f8_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f8_arg0 )
f0_local1( f8_arg0, f8_local0.HorzMarginMinAmount, f8_local0.HorzMarginMaxAmount, f8_local0.HorzMarginIncrement, "profileMenuOption_safeAreaHorz", f8_local0.OriginalHorzMargin )
end
}
}
}
}
end
LUI.MenuBuilder.registerDef( "boot_screen_margins", boot_screen_margins )
LockTable( _M )