add gs
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
|
||||
local CoreGui = game:GetService("CoreGui")
|
||||
local GuiRoot = CoreGui:FindFirstChild("RobloxGui")
|
||||
local Modules = GuiRoot:FindFirstChild("Modules")
|
||||
local ShellModules = Modules:FindFirstChild("Shell")
|
||||
|
||||
local Utility = require(ShellModules:FindFirstChild('Utility'))
|
||||
local GlobalSettings = require(ShellModules:FindFirstChild('GlobalSettings'))
|
||||
local SoundManager = require(ShellModules:FindFirstChild('SoundManager'))
|
||||
local Strings = require(ShellModules:FindFirstChild('LocalizedStrings'))
|
||||
|
||||
local function LockedGameCarouselView()
|
||||
local this = {}
|
||||
|
||||
local overlayFrames = {}
|
||||
|
||||
local container = Utility.Create'Frame'
|
||||
{
|
||||
Name = "LockedViewContainer";
|
||||
Size = UDim2.new(1, 0, 1, 0);
|
||||
BackgroundTransparency = 0.2;
|
||||
BackgroundColor3 = Color3.new(0.1, 0.1, 0.1);
|
||||
BorderSizePixel = 0;
|
||||
Selectable = false;
|
||||
SoundManager:CreateSound('MoveSelection');
|
||||
}
|
||||
local lockedTextLabel = Utility.Create'TextLabel'
|
||||
{
|
||||
Name = "LockedTextLabel";
|
||||
Size = UDim2.new(0.7, 0, 0.5, 0);
|
||||
Position = UDim2.new(0.125, 0, 0.25, 0);
|
||||
BackgroundTransparency = 1;
|
||||
Font = GlobalSettings.LightFont;
|
||||
FontSize = GlobalSettings.ButtonSize;
|
||||
TextXAlignment = Enum.TextXAlignment.Left;
|
||||
TextYAlignment = Enum.TextYAlignment.Center;
|
||||
TextColor3 = GlobalSettings.WhiteTextColor;
|
||||
Text = Strings:LocalizedString("UnlockGamesPhrase");
|
||||
TextWrapped = true;
|
||||
Parent = container;
|
||||
}
|
||||
local lockIcon = Utility.Create'ImageLabel'
|
||||
{
|
||||
Name = "LockLabel";
|
||||
Position = UDim2.new(0, 50, 0.5, -70);
|
||||
Size = UDim2.new(0, 116, 0, 140);
|
||||
BackgroundTransparency = 1;
|
||||
Image = 'rbxasset://textures/ui/Shell/Icons/LockIcon.png';
|
||||
Parent = container;
|
||||
}
|
||||
|
||||
--[[ Public API ]]--
|
||||
function this:SetParent(newParent)
|
||||
container.Parent = newParent
|
||||
end
|
||||
|
||||
function this:SetSize(newSize)
|
||||
container.Size = newSize
|
||||
end
|
||||
|
||||
function this:SetPosition(newPosition)
|
||||
container.Position = newPosition
|
||||
end
|
||||
|
||||
function this:GetContainer()
|
||||
return container
|
||||
end
|
||||
|
||||
function this:SetSelectionImageObject(guiObject)
|
||||
container.SelectionImageObject = guiObject
|
||||
end
|
||||
|
||||
function setProperty(instance, propName, val)
|
||||
pcall(function(i, p, v) i[p] = v end, instance, propName, val)
|
||||
end
|
||||
|
||||
local function setZIndexHelper(element, val)
|
||||
if not element:IsA('GuiObject') then
|
||||
return
|
||||
end
|
||||
|
||||
setProperty(element, "ZIndex", val)
|
||||
|
||||
local children = element:GetChildren()
|
||||
for i = 1, #children do
|
||||
local child = children[i]
|
||||
if child:IsA('GuiObject') then
|
||||
setZIndexHelper(child, val)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function this:SetZIndex(val)
|
||||
setZIndexHelper(container, val)
|
||||
end
|
||||
|
||||
function this:GetSelection()
|
||||
return container
|
||||
end
|
||||
|
||||
function this:CreateLockedIconOverlay(iconImage)
|
||||
local overlayFrame = Utility.Create'Frame'
|
||||
{
|
||||
Name = "LockedOverlay";
|
||||
Size = UDim2.new(1, 0, 1, 0);
|
||||
BackgroundTransparency = GlobalSettings.ModalBackgroundTransparency;
|
||||
BackgroundColor3 = GlobalSettings.ModalBackgroundColor;
|
||||
BorderSizePixel = 0;
|
||||
Parent = iconImage;
|
||||
}
|
||||
table.insert(overlayFrames, overlayFrame)
|
||||
end
|
||||
function this:RemoveLockedIconOverlays()
|
||||
for i = 1, #overlayFrames do
|
||||
overlayFrames[i].Parent = nil
|
||||
end
|
||||
end
|
||||
|
||||
return this
|
||||
end
|
||||
|
||||
return LockedGameCarouselView
|
||||
Reference in New Issue
Block a user