add gs
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
--[[
|
||||
Provides utility methods for ScreenTime feature.
|
||||
]]
|
||||
|
||||
local CorePackages = game:GetService("CorePackages")
|
||||
local ArgCheck = require(CorePackages.ArgCheck)
|
||||
local Logging = require(CorePackages.Logging)
|
||||
|
||||
local TAG = "Utils"
|
||||
-- This global key will be accessed by native code
|
||||
local GLOBAL_KEY_LOCKED_OUT = "ScreenTime.lockedOut"
|
||||
-- This string will be checked against in native code (Java, etc.)
|
||||
local TRUE_VALUE = "true"
|
||||
|
||||
local Utils = {
|
||||
globalGetter = nil,
|
||||
globalSetter = nil,
|
||||
}
|
||||
|
||||
--[[
|
||||
Create a new Utils object.
|
||||
|
||||
@param dependencies injected dependencies to get and set global key values.
|
||||
The value should be accessible from native code.
|
||||
members & interfaces:
|
||||
globalGetter(string key) -> string
|
||||
globalSetter(string key, string value)
|
||||
]]
|
||||
function Utils:new(dependencies)
|
||||
ArgCheck.isType(dependencies.globalGetter, "function", "globalGetter")
|
||||
ArgCheck.isType(dependencies.globalSetter, "function", "globalSetter")
|
||||
local obj = {
|
||||
globalGetter = dependencies.globalGetter,
|
||||
globalSetter = dependencies.globalSetter,
|
||||
}
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
return obj
|
||||
end
|
||||
|
||||
--[[
|
||||
Get the flag whether current user is locked out.
|
||||
]]
|
||||
function Utils:isLockedOut()
|
||||
ArgCheck.isType(self.globalGetter, "function", "globalGetter")
|
||||
return (self.globalGetter(GLOBAL_KEY_LOCKED_OUT) == TRUE_VALUE)
|
||||
end
|
||||
|
||||
--[[
|
||||
Set the flag that current user is locked out.
|
||||
It will be reset after successful MSDK login.
|
||||
]]
|
||||
function Utils:setLockedOut()
|
||||
Logging.warn(TAG .. " setLockedOut")
|
||||
ArgCheck.isType(self.globalSetter, "function", "globalSetter")
|
||||
self.globalSetter(GLOBAL_KEY_LOCKED_OUT, TRUE_VALUE)
|
||||
end
|
||||
|
||||
return Utils
|
||||
Reference in New Issue
Block a user