add gs
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
-- add a shimmer effect to the parent GuiObject on CoreGui
|
||||
local CoreGui = game:GetService("CoreGui")
|
||||
local RobloxGui = CoreGui:WaitForChild("RobloxGui")
|
||||
local create = require(RobloxGui.Modules.Common.Create)
|
||||
local TweenService = game:GetService("TweenService")
|
||||
local Constants = require(RobloxGui.Modules.Common.Constants)
|
||||
|
||||
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1, false, 0)
|
||||
|
||||
local Shimmer = {}
|
||||
Shimmer.__index = Shimmer
|
||||
|
||||
local shimmerStyles = {
|
||||
["PrimaryButton"] = function(parent)
|
||||
return create 'ImageLabel' {
|
||||
Name = "ShimmerFrame",
|
||||
BackgroundColor3 = Color3.fromRGB(0, 0, 0),
|
||||
BackgroundTransparency = 0.7,
|
||||
ClipsDescendants = true,
|
||||
Size = UDim2.new(1, 0, 1, 0),
|
||||
BorderSizePixel = 0,
|
||||
Visible = false,
|
||||
Parent = parent,
|
||||
ZIndex = 8,
|
||||
create 'ImageLabel' {
|
||||
Name = "Shimmer",
|
||||
BackgroundTransparency = 1,
|
||||
Size = UDim2.new(1, 0, 2, 0),
|
||||
Position = UDim2.new(-1, 0, 0, 0),
|
||||
Image = Constants.SHIMMER_TEXTURE,
|
||||
BorderSizePixel = 0,
|
||||
ZIndex = 8,
|
||||
},
|
||||
create 'ImageLabel' {
|
||||
Name = "ShimmerOverlay",
|
||||
ScaleType = Enum.ScaleType.Slice,
|
||||
SliceCenter = Rect.new(8, 8, 9, 9),
|
||||
ImageColor3 = Constants.COLORS.FLINT,
|
||||
BackgroundTransparency = 1,
|
||||
BorderSizePixel = 0,
|
||||
Image = Constants.OVERLAY_TEXTURE,
|
||||
Size = UDim2.new(1, 0, 1, 0),
|
||||
ZIndex = 9,
|
||||
},
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
function Shimmer.new(parent, style)
|
||||
if not style or not shimmerStyles[style] then
|
||||
return
|
||||
end
|
||||
local self = setmetatable({}, Shimmer)
|
||||
self._shimmer = shimmerStyles[style](parent)
|
||||
self._shimmerAnimation = TweenService:Create(self._shimmer.Shimmer, tweenInfo, {Position = UDim2.new(1, 0, 0, 0)})
|
||||
return self
|
||||
end
|
||||
|
||||
function Shimmer:play()
|
||||
self._shimmer.Visible = true
|
||||
self._shimmerAnimation:Play()
|
||||
end
|
||||
|
||||
function Shimmer:stop()
|
||||
self._shimmerAnimation:Cancel()
|
||||
self._shimmer.Visible = false
|
||||
end
|
||||
|
||||
return Shimmer
|
||||
Reference in New Issue
Block a user