add gs
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
local Modules = game:GetService("CoreGui").RobloxGui.Modules
|
||||
local ShellModules = Modules:FindFirstChild("Shell")
|
||||
local MakeSafeAsyncRodux = require(ShellModules:FindFirstChild('SafeAsyncRodux'))
|
||||
local PlatformService = nil
|
||||
pcall(function() PlatformService = game:GetService('PlatformService') end)
|
||||
local FetchPrivilegeSettings = require(ShellModules.Actions.FetchPrivilegeSettings)
|
||||
local SetPrivilegeSettings = require(ShellModules.Actions.SetPrivilegeSettings)
|
||||
|
||||
local Privileges =
|
||||
{
|
||||
USER_CREATED_CONTENT = 247,
|
||||
MULTIPLAYER_SESSIONS = 254
|
||||
}
|
||||
|
||||
local GetPrivilegeSettingsAsync = MakeSafeAsyncRodux({
|
||||
asyncFunc = function(store)
|
||||
local newPrivilegeSettings = {}
|
||||
|
||||
local success = pcall(function()
|
||||
local multiplayerSettings = PlatformService:BeginCheckXboxPrivilege(Privileges.MULTIPLAYER_SESSIONS)
|
||||
local sharedContentSettings = PlatformService:BeginCheckXboxPrivilege(Privileges.USER_CREATED_CONTENT)
|
||||
newPrivilegeSettings.Multiplayer =
|
||||
{
|
||||
hasPrivilege = multiplayerSettings.CanJoinGame,
|
||||
status = multiplayerSettings.PrivilegeCheckResult,
|
||||
}
|
||||
newPrivilegeSettings.SharedContent =
|
||||
{
|
||||
hasPrivilege = sharedContentSettings.CanJoinGame,
|
||||
status = sharedContentSettings.PrivilegeCheckResult,
|
||||
}
|
||||
end)
|
||||
if not success then
|
||||
newPrivilegeSettings.Multiplayer = { hasPrivilege = false, status = "Error"}
|
||||
newPrivilegeSettings.SharedContent = { hasPrivilege = false, status = "Error"}
|
||||
end
|
||||
newPrivilegeSettings.timestamp = tick()
|
||||
return newPrivilegeSettings
|
||||
end,
|
||||
callback = function(store, newPrivilegeSettings)
|
||||
store:dispatch(SetPrivilegeSettings(newPrivilegeSettings))
|
||||
end,
|
||||
userRelated = true
|
||||
})
|
||||
|
||||
|
||||
return function()
|
||||
return function(store)
|
||||
--Note: we don't check isRequesting state for privilege settings update,
|
||||
--as we always want to fetch the latest privilege settings
|
||||
store:dispatch(FetchPrivilegeSettings())
|
||||
spawn(function()
|
||||
GetPrivilegeSettingsAsync(store)
|
||||
end)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user