-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStudioStylePalette.lua
93 lines (78 loc) · 3.22 KB
/
StudioStylePalette.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
local enabled = false
local button = plugin:CreateToolbar('Fasty48'):CreateButton('Studio Style Palette', '', '')
local ui = plugin:CreateDockWidgetPluginGui(
'StudioStylePalette',
DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, false, true, 300, 300, 325, 420)
)
ui.Title = 'Studio Style Palette'
ui.Name = 'StudioStylePalette'
local BKG = Instance.new('Frame')
BKG.Size = UDim2.new(1, 0, 1, 0)
BKG.Parent = ui
local styleGuideFrame = Instance.new('ScrollingFrame')
styleGuideFrame.ScrollBarThickness = 0
styleGuideFrame.ScrollingEnabled = false
styleGuideFrame.Position = UDim2.new(0, 0, 0, 30)
styleGuideFrame.Size = UDim2.new(0.25, 0, 1, -30)
styleGuideFrame.Name = 'styleGuideFrame'
styleGuideFrame.Parent = BKG
local ListLayout = Instance.new('UIListLayout')
ListLayout.Parent = styleGuideFrame
for _, enumItem in pairs(Enum.StudioStyleGuideColor:GetEnumItems()) do
local label = Instance.new('TextLabel')
label.Name = enumItem.Name
label.Parent = styleGuideFrame
label.Size = UDim2.new(1, 0, 0, 30)
label.Font = 'SourceSans'
label.Text = ' ' .. enumItem.Name
label.TextSize = 16
label.TextXAlignment = 'Left'
end
styleGuideFrame.CanvasSize = UDim2.new(0, 0, 0, ListLayout.AbsoluteContentSize.Y)
local ModifierFrame = Instance.new('ScrollingFrame')
ModifierFrame.ScrollBarThickness = 0
ModifierFrame.ScrollingEnabled = false
ModifierFrame.Position = UDim2.new(0.25, 0, 0, 0)
ModifierFrame.Size = UDim2.new(0.75, 0, 0, 30)
ModifierFrame.Parent = BKG
local ModifierListLayout = Instance.new('UIListLayout')
ModifierListLayout.Parent = ModifierFrame
ModifierListLayout.FillDirection = 'Horizontal'
for _, enumItem in pairs(Enum.StudioStyleGuideModifier:GetEnumItems()) do
local label = Instance.new('TextLabel')
label.Name = enumItem.Name
label.Size = UDim2.new(0, 250, 0, 30)
label.Font = 'SourceSans'
label.Text = enumItem.Name
label.TextSize = 16
label.Parent = ModifierFrame
end
ModifierFrame.CanvasSize = UDim2.new(0, ModifierListLayout.AbsoluteContentSize.X, 0, 0)
local Main = Instance.new('ScrollingFrame')
Main.ScrollBarThickness = 8
Main.Position = UDim2.new(0.25, 0, 0, 30)
Main.Size = UDim2.new(0.75, 0, 1, -30)
Main.CanvasSize = UDim2.new(0, ModifierListLayout.AbsoluteContentSize.X, 0, ListLayout.AbsoluteContentSize.Y)
Main.Parent = BKG
local grid = Instance.new('UIGridLayout')
grid.CellPadding = UDim2.new(0, 0, 0, 0)
grid.CellSize = UDim2.new(0, 250, 0, 30)
grid.Parent = Main
Main:GetPropertyChangedSignal('CanvasPosition'):Connect(function()
styleGuideFrame.CanvasPosition = Vector2.new(0, Main.CanvasPosition.Y)
ModifierFrame.CanvasPosition = Vector2.new(Main.CanvasPosition.X, 0)
end)
for _, StudioStyleGuideItem in pairs(Enum.StudioStyleGuideColor:GetEnumItems()) do
for _, StudioStyleGuideModifierItem in pairs(Enum.StudioStyleGuideModifier:GetEnumItems()) do
local Item = Instance.new('Frame')
Item.BackgroundColor3 = settings().Studio.Theme:GetColor(StudioStyleGuideItem, StudioStyleGuideModifierItem)
Item.Parent = Main
settings().Studio.ThemeChanged:connect(function()
Item.BackgroundColor3 = settings().Studio.Theme:GetColor(StudioStyleGuideItem, StudioStyleGuideModifierItem)
end)
end
end
button.Click:Connect(function()
enabled = not enabled
ui.Enabled = enabled
end)