@quenty/genericscreenguiprovider 13.17.0 → 13.18.0-canary.527.65d09e1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/package.json +10 -9
- package/src/Client/GenericScreenGuiProvider.lua +38 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [13.18.0-canary.527.65d09e1.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/genericscreenguiprovider@13.17.0...@quenty/genericscreenguiprovider@13.18.0-canary.527.65d09e1.0) (2025-01-17)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Allow order t obe set ([7edc784](https://github.com/Quenty/NevermoreEngine/commit/7edc784fa0983895fc9260adaf73a8e5012144fa))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [13.17.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/genericscreenguiprovider@13.16.0...@quenty/genericscreenguiprovider@13.17.0) (2024-12-15)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/genericscreenguiprovider
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/genericscreenguiprovider",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.18.0-canary.527.65d09e1.0",
|
|
4
4
|
"description": "Providers screenGuis with a given display order for easy use",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -24,16 +24,17 @@
|
|
|
24
24
|
"Quenty"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@quenty/blend": "
|
|
28
|
-
"@quenty/loader": "
|
|
29
|
-
"@quenty/maid": "
|
|
30
|
-
"@quenty/
|
|
31
|
-
"@quenty/
|
|
32
|
-
"@quenty/
|
|
33
|
-
"@quenty/
|
|
27
|
+
"@quenty/blend": "12.16.0-canary.527.65d09e1.0",
|
|
28
|
+
"@quenty/loader": "10.7.1",
|
|
29
|
+
"@quenty/maid": "3.4.0",
|
|
30
|
+
"@quenty/rx": "13.15.0",
|
|
31
|
+
"@quenty/servicebag": "11.10.0",
|
|
32
|
+
"@quenty/string": "3.3.0",
|
|
33
|
+
"@quenty/uiobjectutils": "6.14.0",
|
|
34
|
+
"@quenty/valueobject": "13.15.0"
|
|
34
35
|
},
|
|
35
36
|
"publishConfig": {
|
|
36
37
|
"access": "public"
|
|
37
38
|
},
|
|
38
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "65d09e10d2b3519746fd1bcd592425cd985dbaf6"
|
|
39
40
|
}
|
|
@@ -32,6 +32,7 @@ local Maid = require("Maid")
|
|
|
32
32
|
local ScreenGuiService = require("ScreenGuiService")
|
|
33
33
|
local ServiceBag = require("ServiceBag")
|
|
34
34
|
local String = require("String")
|
|
35
|
+
local ValueObject = require("ValueObject")
|
|
35
36
|
|
|
36
37
|
local GenericScreenGuiProvider = {}
|
|
37
38
|
GenericScreenGuiProvider.ClassName = "GenericScreenGuiProvider"
|
|
@@ -46,7 +47,7 @@ function GenericScreenGuiProvider.new(orders)
|
|
|
46
47
|
assert(type(orders) == "table", "Bad orders")
|
|
47
48
|
|
|
48
49
|
local self = setmetatable({
|
|
49
|
-
|
|
50
|
+
_defaultOrders = orders;
|
|
50
51
|
}, GenericScreenGuiProvider)
|
|
51
52
|
|
|
52
53
|
return self
|
|
@@ -57,6 +58,11 @@ function GenericScreenGuiProvider:Init(serviceBag)
|
|
|
57
58
|
self._maid = Maid.new()
|
|
58
59
|
|
|
59
60
|
self._screenGuiService = self._serviceBag:GetService(ScreenGuiService)
|
|
61
|
+
|
|
62
|
+
self._orderValues = {}
|
|
63
|
+
for key, value in self._defaultOrders do
|
|
64
|
+
self._orderValues[key] = self._maid:Add(ValueObject.new(value, "number"))
|
|
65
|
+
end
|
|
60
66
|
end
|
|
61
67
|
|
|
62
68
|
function GenericScreenGuiProvider:Start()
|
|
@@ -107,12 +113,19 @@ function GenericScreenGuiProvider:ObserveScreenGui(orderName)
|
|
|
107
113
|
Name = String.toCamelCase(orderName);
|
|
108
114
|
ResetOnSpawn = false;
|
|
109
115
|
AutoLocalize = false;
|
|
110
|
-
DisplayOrder = self:
|
|
116
|
+
DisplayOrder = self:ObserveDisplayOrder(orderName);
|
|
111
117
|
Parent = self:_getScreenGuiService():ObservePlayerGui();
|
|
112
118
|
ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
|
|
113
119
|
}
|
|
114
120
|
end
|
|
115
121
|
|
|
122
|
+
function GenericScreenGuiProvider:SetDisplayOrder(orderName, order)
|
|
123
|
+
assert(type(orderName) == "string", "Bad orderName")
|
|
124
|
+
self:_assertOrderExists(orderName)
|
|
125
|
+
|
|
126
|
+
return self._orderValues[orderName]:Mount(order)
|
|
127
|
+
end
|
|
128
|
+
|
|
116
129
|
--[=[
|
|
117
130
|
Returns a new ScreenGui at DisplayOrder specified
|
|
118
131
|
@param orderName string -- Order name of display order
|
|
@@ -120,6 +133,7 @@ end
|
|
|
120
133
|
]=]
|
|
121
134
|
function GenericScreenGuiProvider:Get(orderName)
|
|
122
135
|
assert(type(orderName) == "string", "Bad orderName")
|
|
136
|
+
self:_assertOrderExists(orderName)
|
|
123
137
|
|
|
124
138
|
if not RunService:IsRunning() then
|
|
125
139
|
local frame = Instance.new("Frame")
|
|
@@ -152,9 +166,29 @@ end
|
|
|
152
166
|
]=]
|
|
153
167
|
function GenericScreenGuiProvider:GetDisplayOrder(orderName)
|
|
154
168
|
assert(type(orderName) == "string", "Bad orderName")
|
|
155
|
-
|
|
169
|
+
self:_assertOrderExists(orderName)
|
|
170
|
+
|
|
171
|
+
return self._orderValues[orderName].Value
|
|
172
|
+
end
|
|
156
173
|
|
|
157
|
-
|
|
174
|
+
--[=[
|
|
175
|
+
Retrieve the display order for a given order.
|
|
176
|
+
@param orderName string -- Order name of display order
|
|
177
|
+
@return Observable<number>
|
|
178
|
+
]=]
|
|
179
|
+
function GenericScreenGuiProvider:ObserveDisplayOrder(orderName)
|
|
180
|
+
assert(type(orderName) == "string", "Bad orderName")
|
|
181
|
+
self:_assertOrderExists(orderName)
|
|
182
|
+
|
|
183
|
+
return self._orderValues[orderName]:Observe()
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
function GenericScreenGuiProvider:_assertOrderExists(orderName)
|
|
187
|
+
assert(type(orderName) == "string", "Bad orderName")
|
|
188
|
+
|
|
189
|
+
if not self._defaultOrders[orderName] then
|
|
190
|
+
error(string.format("No DisplayOrder with orderName '%s'", tostring(orderName)))
|
|
191
|
+
end
|
|
158
192
|
end
|
|
159
193
|
|
|
160
194
|
function GenericScreenGuiProvider:_getScreenGuiService()
|