@quenty/settings 11.22.3-canary.542.7609692.0 → 11.22.3
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
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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
|
-
## [11.22.3
|
|
6
|
+
## [11.22.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/settings@11.22.2...@quenty/settings@11.22.3) (2025-03-20)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @quenty/settings
|
|
9
9
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/settings",
|
|
3
|
-
"version": "11.22.3
|
|
3
|
+
"version": "11.22.3",
|
|
4
4
|
"description": "Centralized player settings service",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,38 +25,38 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/attributeutils": "14.16.
|
|
29
|
-
"@quenty/baseobject": "10.8.0",
|
|
30
|
-
"@quenty/binder": "14.18.
|
|
31
|
-
"@quenty/brio": "14.16.
|
|
32
|
-
"@quenty/cmdrservice": "13.21.
|
|
33
|
-
"@quenty/datastore": "13.19.1
|
|
34
|
-
"@quenty/ducktype": "5.8.
|
|
35
|
-
"@quenty/enumutils": "3.4.0",
|
|
36
|
-
"@quenty/instanceutils": "13.16.
|
|
37
|
-
"@quenty/jsonutils": "10.10.
|
|
38
|
-
"@quenty/loader": "10.8.0",
|
|
39
|
-
"@quenty/maid": "3.4.0",
|
|
40
|
-
"@quenty/observablecollection": "12.19.
|
|
41
|
-
"@quenty/playerbinder": "14.18.
|
|
42
|
-
"@quenty/playerutils": "8.16.
|
|
43
|
-
"@quenty/remotefunctionutils": "10.10.
|
|
44
|
-
"@quenty/remoting": "12.17.
|
|
45
|
-
"@quenty/rx": "13.16.
|
|
46
|
-
"@quenty/rxbinderutils": "14.18.
|
|
47
|
-
"@quenty/rxsignal": "7.16.
|
|
48
|
-
"@quenty/servicebag": "11.11.
|
|
49
|
-
"@quenty/signal": "7.10.0",
|
|
50
|
-
"@quenty/statestack": "14.17.
|
|
51
|
-
"@quenty/string": "3.3.
|
|
52
|
-
"@quenty/symbol": "3.4.0",
|
|
53
|
-
"@quenty/table": "3.7.
|
|
54
|
-
"@quenty/throttle": "10.9.0",
|
|
55
|
-
"@quenty/tie": "10.19.
|
|
56
|
-
"@quenty/valueobject": "13.16.
|
|
28
|
+
"@quenty/attributeutils": "^14.16.0",
|
|
29
|
+
"@quenty/baseobject": "^10.8.0",
|
|
30
|
+
"@quenty/binder": "^14.18.0",
|
|
31
|
+
"@quenty/brio": "^14.16.0",
|
|
32
|
+
"@quenty/cmdrservice": "^13.21.2",
|
|
33
|
+
"@quenty/datastore": "^13.19.1",
|
|
34
|
+
"@quenty/ducktype": "^5.8.0",
|
|
35
|
+
"@quenty/enumutils": "^3.4.0",
|
|
36
|
+
"@quenty/instanceutils": "^13.16.0",
|
|
37
|
+
"@quenty/jsonutils": "^10.10.0",
|
|
38
|
+
"@quenty/loader": "^10.8.0",
|
|
39
|
+
"@quenty/maid": "^3.4.0",
|
|
40
|
+
"@quenty/observablecollection": "^12.19.2",
|
|
41
|
+
"@quenty/playerbinder": "^14.18.0",
|
|
42
|
+
"@quenty/playerutils": "^8.16.0",
|
|
43
|
+
"@quenty/remotefunctionutils": "^10.10.0",
|
|
44
|
+
"@quenty/remoting": "^12.17.0",
|
|
45
|
+
"@quenty/rx": "^13.16.0",
|
|
46
|
+
"@quenty/rxbinderutils": "^14.18.0",
|
|
47
|
+
"@quenty/rxsignal": "^7.16.0",
|
|
48
|
+
"@quenty/servicebag": "^11.11.0",
|
|
49
|
+
"@quenty/signal": "^7.10.0",
|
|
50
|
+
"@quenty/statestack": "^14.17.0",
|
|
51
|
+
"@quenty/string": "^3.3.0",
|
|
52
|
+
"@quenty/symbol": "^3.4.0",
|
|
53
|
+
"@quenty/table": "^3.7.0",
|
|
54
|
+
"@quenty/throttle": "^10.9.0",
|
|
55
|
+
"@quenty/tie": "^10.19.0",
|
|
56
|
+
"@quenty/valueobject": "^13.16.0"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "67863b6715e6da8dc1477d07f1ec048c76717bce"
|
|
62
62
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
--[=[
|
|
2
|
-
Provides commands involving player settings
|
|
3
|
-
|
|
4
2
|
@class SettingsCmdrService
|
|
5
3
|
]=]
|
|
6
4
|
|
|
@@ -32,22 +30,22 @@ function SettingsCmdrService:_setupCommands()
|
|
|
32
30
|
end)
|
|
33
31
|
|
|
34
32
|
self._cmdrService:RegisterCommand({
|
|
35
|
-
Name = "restore-setting"
|
|
36
|
-
Aliases = {}
|
|
37
|
-
Description = "Restores the player setting to default."
|
|
38
|
-
Group = "Settings"
|
|
33
|
+
Name = "restore-setting";
|
|
34
|
+
Aliases = { };
|
|
35
|
+
Description = "Restores the player setting to default.";
|
|
36
|
+
Group = "Settings";
|
|
39
37
|
Args = {
|
|
40
38
|
{
|
|
41
|
-
Name = "Players"
|
|
42
|
-
Type = "players"
|
|
43
|
-
Description = "Players to restore the default settings to."
|
|
39
|
+
Name = "Players";
|
|
40
|
+
Type = "players";
|
|
41
|
+
Description = "Players to restore the default settings to.";
|
|
44
42
|
},
|
|
45
43
|
{
|
|
46
|
-
Name = "Settings"
|
|
47
|
-
Type = "settingDefinitions"
|
|
48
|
-
Description = "Settings to restore."
|
|
49
|
-
}
|
|
50
|
-
}
|
|
44
|
+
Name = "Settings";
|
|
45
|
+
Type = "settingDefinitions";
|
|
46
|
+
Description = "Settings to restore.";
|
|
47
|
+
}
|
|
48
|
+
};
|
|
51
49
|
}, function(_context, players, settingsDefinitions)
|
|
52
50
|
local givenTo = {}
|
|
53
51
|
|
|
@@ -67,4 +65,5 @@ function SettingsCmdrService:Destroy()
|
|
|
67
65
|
self._maid:DoCleaning()
|
|
68
66
|
end
|
|
69
67
|
|
|
70
|
-
|
|
68
|
+
|
|
69
|
+
return SettingsCmdrService
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
--[=[
|
|
2
|
-
Provides a service for managing centralized player settings. See [SettingsDataService] for the data service.
|
|
3
|
-
|
|
4
2
|
@class SettingsService
|
|
5
3
|
]=]
|
|
6
4
|
|
|
@@ -28,60 +26,32 @@ function SettingsService:Init(serviceBag)
|
|
|
28
26
|
self._serviceBag:GetService(require("PlayerSettings"))
|
|
29
27
|
end
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
Observes the settings for a player using Brio.
|
|
33
|
-
|
|
34
|
-
@param player Player
|
|
35
|
-
@return Observable<Brio<PlayerSettings>>
|
|
36
|
-
]=]
|
|
37
|
-
function SettingsService:ObservePlayerSettingsBrio(player: Player)
|
|
29
|
+
function SettingsService:ObservePlayerSettingsBrio(player)
|
|
38
30
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
39
31
|
|
|
40
32
|
return self._settingsDataService:ObservePlayerSettingsBrio(player)
|
|
41
33
|
end
|
|
42
34
|
|
|
43
|
-
|
|
44
|
-
Observes the settings for a player.
|
|
45
|
-
|
|
46
|
-
@param player Player
|
|
47
|
-
@return Observable<PlayerSettings>
|
|
48
|
-
]=]
|
|
49
|
-
function SettingsService:ObservePlayerSettings(player: Player)
|
|
35
|
+
function SettingsService:ObservePlayerSettings(player)
|
|
50
36
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
51
37
|
|
|
52
38
|
return self._settingsDataService:ObservePlayerSettings(player)
|
|
53
39
|
end
|
|
54
40
|
|
|
55
|
-
|
|
56
|
-
Obtains the settings for a player.
|
|
57
|
-
|
|
58
|
-
@param player Player
|
|
59
|
-
@return PlayerSettings
|
|
60
|
-
]=]
|
|
61
|
-
function SettingsService:GetPlayerSettings(player: Player)
|
|
41
|
+
function SettingsService:GetPlayerSettings(player)
|
|
62
42
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
63
43
|
|
|
64
44
|
return self._settingsDataService:GetPlayerSettings(player)
|
|
65
45
|
end
|
|
66
46
|
|
|
67
|
-
|
|
68
|
-
Promises the settings for a player.
|
|
69
|
-
|
|
70
|
-
@param player Player
|
|
71
|
-
@param cancelToken CancelToken?
|
|
72
|
-
@return Promise<PlayerSettings>
|
|
73
|
-
]=]
|
|
74
|
-
function SettingsService:PromisePlayerSettings(player: Player, cancelToken)
|
|
47
|
+
function SettingsService:PromisePlayerSettings(player, cancelToken)
|
|
75
48
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
76
49
|
|
|
77
50
|
return self._settingsDataService:PromisePlayerSettings(player, cancelToken)
|
|
78
51
|
end
|
|
79
52
|
|
|
80
|
-
--[=[
|
|
81
|
-
Cleans up the settings service
|
|
82
|
-
]=]
|
|
83
53
|
function SettingsService:Destroy()
|
|
84
54
|
self._maid:DoCleaning()
|
|
85
55
|
end
|
|
86
56
|
|
|
87
|
-
return SettingsService
|
|
57
|
+
return SettingsService
|
|
@@ -44,14 +44,14 @@ function SettingsDataService:_getPlayerSettingsCacheMap()
|
|
|
44
44
|
self._playerSettingsCacheMap = self._maid:Add(ObservableMap.new())
|
|
45
45
|
self._hydratedPlayersMaid = self._maid:Add(Maid.new())
|
|
46
46
|
|
|
47
|
-
self._maid:GiveTask(Players.PlayerRemoving:Connect(function(player
|
|
47
|
+
self._maid:GiveTask(Players.PlayerRemoving:Connect(function(player)
|
|
48
48
|
self._hydratedPlayersMaid[player] = nil
|
|
49
49
|
end))
|
|
50
50
|
|
|
51
51
|
return self._playerSettingsCacheMap
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
function SettingsDataService:_getPlayerSettingsMapForPlayer(player
|
|
54
|
+
function SettingsDataService:_getPlayerSettingsMapForPlayer(player)
|
|
55
55
|
local playerSettingsCacheMap = self:_getPlayerSettingsCacheMap()
|
|
56
56
|
|
|
57
57
|
if self._hydratedPlayersMaid[player] then
|
|
@@ -65,35 +65,28 @@ function SettingsDataService:_getPlayerSettingsMapForPlayer(player: Player)
|
|
|
65
65
|
return playerSettingsCacheMap
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
function SettingsDataService:_hydrateCacheForPlayer(player
|
|
68
|
+
function SettingsDataService:_hydrateCacheForPlayer(player)
|
|
69
69
|
local playerMaid = Maid.new()
|
|
70
70
|
|
|
71
71
|
playerMaid:GiveTask(RxInstanceUtils.observeChildrenBrio(player, function(value)
|
|
72
72
|
-- We really only care about this, and we can assume we have the tag immediately
|
|
73
73
|
return value:HasTag("PlayerSettings")
|
|
74
|
-
end)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
maid:GiveTask(self._playerSettingsCacheMap:Set(playerSettings:GetPlayer(), playerSettings))
|
|
87
|
-
end))
|
|
74
|
+
end):Pipe({
|
|
75
|
+
RxBrioUtils.flatMapBrio(function(playerSettingsInstance)
|
|
76
|
+
return PlayerSettingsInterface:ObserveBrio(playerSettingsInstance, self._tieRealmService:GetTieRealm())
|
|
77
|
+
end)
|
|
78
|
+
}):Subscribe(function(brio)
|
|
79
|
+
if brio:IsDead() then
|
|
80
|
+
return
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
local maid, playerSettings = brio:ToMaidAndValue()
|
|
84
|
+
maid:GiveTask(self._playerSettingsCacheMap:Set(playerSettings:GetPlayer(), playerSettings))
|
|
85
|
+
end))
|
|
88
86
|
|
|
89
87
|
return playerMaid
|
|
90
88
|
end
|
|
91
89
|
|
|
92
|
-
--[=[
|
|
93
|
-
Gets the setting definitions
|
|
94
|
-
|
|
95
|
-
@return { SettingDefinition }
|
|
96
|
-
]=]
|
|
97
90
|
function SettingsDataService:GetSettingDefinitions()
|
|
98
91
|
return self._settingDefinitions:GetList()
|
|
99
92
|
end
|
|
@@ -119,6 +112,7 @@ function SettingsDataService:ObserveRegisteredDefinitionsBrio()
|
|
|
119
112
|
return self._settingDefinitions:ObserveItemsBrio()
|
|
120
113
|
end
|
|
121
114
|
|
|
115
|
+
|
|
122
116
|
--[=[
|
|
123
117
|
Observes the player's settings
|
|
124
118
|
|
|
@@ -137,7 +131,7 @@ end
|
|
|
137
131
|
@param player Player
|
|
138
132
|
@return Observable<Brio<PlayerSettingsClient>>
|
|
139
133
|
]=]
|
|
140
|
-
function SettingsDataService:ObservePlayerSettingsBrio(player
|
|
134
|
+
function SettingsDataService:ObservePlayerSettingsBrio(player)
|
|
141
135
|
return self:_getPlayerSettingsMapForPlayer(player):ObserveAtKeyBrio(player, self._tieRealmService:GetTieRealm())
|
|
142
136
|
end
|
|
143
137
|
|
|
@@ -148,17 +142,14 @@ end
|
|
|
148
142
|
@param cancelToken CancelToken
|
|
149
143
|
@return Promise<PlayerSettingsBase>
|
|
150
144
|
]=]
|
|
151
|
-
function SettingsDataService:PromisePlayerSettings(player
|
|
145
|
+
function SettingsDataService:PromisePlayerSettings(player, cancelToken)
|
|
152
146
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
153
147
|
|
|
154
|
-
return
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}),
|
|
160
|
-
cancelToken
|
|
161
|
-
)
|
|
148
|
+
return Rx.toPromise(self:ObservePlayerSettings(player):Pipe({
|
|
149
|
+
Rx.where(function(playerSettings)
|
|
150
|
+
return playerSettings ~= nil
|
|
151
|
+
end)
|
|
152
|
+
}), cancelToken)
|
|
162
153
|
end
|
|
163
154
|
|
|
164
155
|
--[=[
|
|
@@ -167,7 +158,7 @@ end
|
|
|
167
158
|
@param player Player
|
|
168
159
|
@return Promise<PlayerSettingsBase>
|
|
169
160
|
]=]
|
|
170
|
-
function SettingsDataService:GetPlayerSettings(player
|
|
161
|
+
function SettingsDataService:GetPlayerSettings(player)
|
|
171
162
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
172
163
|
|
|
173
164
|
return self:_getPlayerSettingsMapForPlayer(player):Get(player)
|
|
@@ -180,4 +171,4 @@ function SettingsDataService:Destroy()
|
|
|
180
171
|
self._maid:DoCleaning()
|
|
181
172
|
end
|
|
182
173
|
|
|
183
|
-
return SettingsDataService
|
|
174
|
+
return SettingsDataService
|