72 lines
2.1 KiB
Plaintext
72 lines
2.1 KiB
Plaintext
%2%
|
|
-- this script is responsible for keeping the gui proportions under control
|
|
|
|
local screen = script.Parent
|
|
|
|
local BottomLeftControl
|
|
local BottomRightControl
|
|
local TopLeftControl
|
|
local BuildTools
|
|
|
|
local controlFrame = script.Parent:FindFirstChild("ControlFrame")
|
|
local loadoutPadding = 43
|
|
local currentLoadout
|
|
|
|
BottomLeftControl = controlFrame:FindFirstChild("BottomLeftControl")
|
|
BottomRightControl = controlFrame:FindFirstChild("BottomRightControl")
|
|
TopLeftControl = controlFrame:FindFirstChild("TopLeftControl")
|
|
currentLoadout = script.Parent:FindFirstChild("CurrentLoadout")
|
|
BuildTools = controlFrame:FindFirstChild("BuildTools")
|
|
|
|
function makeYRelative()
|
|
|
|
BottomLeftControl.SizeConstraint = 2
|
|
BottomRightControl.SizeConstraint = 2
|
|
if TopLeftControl then TopLeftControl.SizeConstraint = 2 end
|
|
if currentLoadout then currentLoadout.SizeConstraint = 2 end
|
|
if BuildTools then BuildTools.Frame.SizeConstraint = 2 end
|
|
|
|
BottomLeftControl.Position = UDim2.new(0,0,1,-BottomLeftControl.AbsoluteSize.Y)
|
|
BottomRightControl.Position = UDim2.new(1,-BottomRightControl.AbsoluteSize.X,1,-BottomRightControl.AbsoluteSize.Y)
|
|
|
|
end
|
|
|
|
|
|
|
|
function makeXRelative()
|
|
|
|
BottomLeftControl.SizeConstraint = 1
|
|
BottomRightControl.SizeConstraint = 1
|
|
if TopLeftControl then TopLeftControl.SizeConstraint = 1 end
|
|
if currentLoadout then currentLoadout.SizeConstraint = 1 end
|
|
if BuildTools then BuildTools.Frame.SizeConstraint = 1 end
|
|
|
|
BottomLeftControl.Position = UDim2.new(0,0,1,-BottomLeftControl.AbsoluteSize.Y)
|
|
BottomRightControl.Position = UDim2.new(1,-BottomRightControl.AbsoluteSize.X,1,-BottomRightControl.AbsoluteSize.Y)
|
|
|
|
end
|
|
|
|
local function resize()
|
|
if screen.AbsoluteSize.x > screen.AbsoluteSize.y then
|
|
makeYRelative()
|
|
else
|
|
makeXRelative()
|
|
end
|
|
if currentLoadout then
|
|
currentLoadout.Position =
|
|
UDim2.new(0,screen.AbsoluteSize.X/2 -currentLoadout.AbsoluteSize.X/2,currentLoadout.Position.Y.Scale,-currentLoadout.AbsoluteSize.Y - loadoutPadding)
|
|
end
|
|
end
|
|
screen.Changed:connect(function(property)
|
|
|
|
if property == "AbsoluteSize" then
|
|
wait()
|
|
resize()
|
|
end
|
|
|
|
end)
|
|
|
|
wait()
|
|
resize()
|
|
|