Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 21 additions & 28 deletions ProfileStore.luau
Original file line number Diff line number Diff line change
Expand Up @@ -1199,39 +1199,32 @@ local ProfileStore: ProfileStoreModule = {
OnCriticalToggle = Signal.New(), -- (is_critical)
DataStoreState = "NotReady", -- ("NotReady", "NoInternet", "NoAccess", "Access")

_constantSetters = {
AUTO_SAVE_PERIOD = function(v) AUTO_SAVE_PERIOD = v end,
LOAD_REPEAT_PERIOD = function(v) LOAD_REPEAT_PERIOD = v end,
FIRST_LOAD_REPEAT = function(v) FIRST_LOAD_REPEAT = v end,
SESSION_STEAL = function(v) SESSION_STEAL = v end,
ASSUME_DEAD = function(v) ASSUME_DEAD = v end,
START_SESSION_TIMEOUT = function(v) START_SESSION_TIMEOUT = v end,
CRITICAL_STATE_ERROR_COUNT = function(v) CRITICAL_STATE_ERROR_COUNT = v end,
CRITICAL_STATE_ERROR_EXPIRE = function(v) CRITICAL_STATE_ERROR_EXPIRE = v end,
CRITICAL_STATE_EXPIRE = function(v) CRITICAL_STATE_EXPIRE = v end,
MAX_MESSAGE_QUEUE = function(v) MAX_MESSAGE_QUEUE = v end,
},
}
ProfileStore.__index = ProfileStore

function ProfileStore.SetConstant(name, value)

if type(value) ~= "number" then
error(`[{script.Name}]: Invalid value type`)
end

if name == "AUTO_SAVE_PERIOD" then
AUTO_SAVE_PERIOD = value
elseif name == "LOAD_REPEAT_PERIOD" then
LOAD_REPEAT_PERIOD = value
elseif name == "FIRST_LOAD_REPEAT" then
FIRST_LOAD_REPEAT = value
elseif name == "SESSION_STEAL" then
SESSION_STEAL = value
elseif name == "ASSUME_DEAD" then
ASSUME_DEAD = value
elseif name == "START_SESSION_TIMEOUT" then
START_SESSION_TIMEOUT = value
elseif name == "CRITICAL_STATE_ERROR_COUNT" then
CRITICAL_STATE_ERROR_COUNT = value
elseif name == "CRITICAL_STATE_ERROR_EXPIRE" then
CRITICAL_STATE_ERROR_EXPIRE = value
elseif name == "CRITICAL_STATE_EXPIRE" then
CRITICAL_STATE_EXPIRE = value
elseif name == "MAX_MESSAGE_QUEUE" then
MAX_MESSAGE_QUEUE = value
else
error(`[{script.Name}]: Invalid constant name was provided`)
end

error(`[{script.Name}]: Invalid value type`)
end

local setter = ProfileStore._constantSetters[name]
if setter then
setter(value)
else
error(`[{script.Name}]: Invalid constant name was provided`)
end
end

function ProfileStore.Test()
Expand Down