Show raw api
{
"functions": [
{
"name": "new",
"desc": "Constructs a new provider with a list of [SettingDefinition]'s.\n\n```lua\n-- In one location\nlocal SettingDefinition = require(\"SettingDefinition\")\n\nreturn require(\"SettingDefinitionProvider\").new({\n\tKeyBinding = Enum.KeyCode.X;\n\tCameraShake = true;\n\tCameraSensitivity = 1;\n})\n```\n\nUsage:\n\n```lua\nlocal ourSettings = serviceBag:GetService(require(\"OurSettings\"))\n\nprint(ourSettings.CameraShake:Get(Players.LocalPlayer), true)\n\nourSettings.CameraShake:Set(Players.LocalPlayer, false)\n\nourSettings.CameraShake:Promise(Players.LocalPlayer)\n\t:Then(function(cameraShake)\n\t\tprint(cameraShake)\n\tend)\n```",
"params": [
{
"name": "settingDefinitions",
"desc": "",
"lua_type": "{ SettingDefinition }"
}
],
"returns": [
{
"desc": "",
"lua_type": "SettingDefinitionProvider"
}
],
"function_type": "static",
"source": {
"line": 82,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "Init",
"desc": "Initializes the provider, storing the data in [SettingsDataService]",
"params": [
{
"name": "self",
"desc": "",
"lua_type": "SettingDefinitionProvider"
},
{
"name": "serviceBag",
"desc": "",
"lua_type": "ServiceBag"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 123,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "Start",
"desc": "Starts the provider. Empty.",
"params": [
{
"name": "_self",
"desc": "",
"lua_type": "SettingDefinitionProvider"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 147,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "GetSettingDefinitions",
"desc": "Returns the setting definition",
"params": [
{
"name": "self",
"desc": "",
"lua_type": "SettingDefinitionProvider\n"
}
],
"returns": [
{
"desc": "",
"lua_type": "{ SettingDefinition }"
}
],
"function_type": "static",
"source": {
"line": 156,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "__index",
"desc": "You can index the provider to get a setting. For example\n\n```lua\nlocal SettingDefinition = require(\"SettingDefinition\")\n\nlocal provider = require(\"SettingDefinitionProvider\").new({\n\tKeyBinding = Enum.KeyCode.X;\n\tCameraShake = true;\n\tCameraSensitivity = 1;\n})\n\nlocal service = serviceBag:GetService(provider)\n\n-- Write a setting\nservice.CamaraShake:GetLocalPlayerSettingProperty(serviceBag).Value = false\n```",
"params": [
{
"name": "self",
"desc": "",
"lua_type": "any"
},
{
"name": "index",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "SettingDefinition"
}
],
"function_type": "static",
"source": {
"line": 194,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "Get",
"desc": "Gets a new setting definition if it exists",
"params": [
{
"name": "self",
"desc": "",
"lua_type": "SettingDefinitionProvider"
},
{
"name": "settingName",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "SettingDefinition"
}
],
"function_type": "static",
"source": {
"line": 230,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
},
{
"name": "Destroy",
"desc": "Cleans up the setting registration",
"params": [
{
"name": "self",
"desc": "",
"lua_type": "SettingDefinitionProvider"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 251,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
}
],
"properties": [],
"types": [],
"name": "SettingDefinitionProvider",
"desc": "Provides settings in bulk, and can be initialized by a [ServiceBag]. See [SettingDefinition] for\nmore details on how to use this.\n\n:::tip\nThese settings providers should be used on both the client and the server. On the client, these\nare registered with the [SettingsDataService] so that they can be shown in UI automatically\nif desired.\n\nOn the server, these are registered with [SettingsDataService] and then are checked before\narbitrary data can e sent.\n:::\n\n```lua\nlocal SettingDefinition = require(\"SettingDefinition\")\n\nreturn require(\"SettingDefinitionProvider\").new({\n\tKeyBinding = Enum.KeyCode.X;\n\tCameraShake = true;\n\tCameraSensitivity = 1;\n})\n```",
"source": {
"line": 27,
"path": "src/settings/src/Shared/Setting/SettingDefinitionProvider.lua"
}
}