Module necro.config.Settings

Classes

SettingsActionArgs
SettingsArgs
SettingsChoiceArgs
SettingsChoiceEntry
SettingsEnumArgs
SettingsGroupArgs
SettingsLayer
SettingsNumberArgs
SettingsRegistrationCategory
SettingsScope
SettingsStringArgs
SettingsTag
SettingsType
SettingsVisibility

Functions

Format.MULTIPLIER (value)
Format.PERCENT (value)
Format.TIME (value)
entitySchema.action (parameters)
entitySchema.bool (parameters)
entitySchema.choice (parameters)
entitySchema.enum (parameters)
entitySchema.group (parameters)
entitySchema.number (parameters)
entitySchema.percent (parameters)
entitySchema.string (parameters)
entitySchema.table (parameters)
entitySchema.time (parameters)
overridable.action (parameters)
overridable.bool (parameters)
overridable.choice (parameters)
overridable.enum (parameters)
overridable.group (parameters)
overridable.number (parameters)
overridable.percent (parameters)
overridable.string (parameters)
overridable.table (parameters)
overridable.time (parameters)
prefixAll (prefix) Assigns a default key prefix for all settings defined in this file
shared.action (parameters)
shared.bool (parameters)
shared.choice (parameters)
shared.enum (parameters)
shared.group (parameters)
shared.number (parameters)
shared.percent (parameters)
shared.string (parameters)
shared.table (parameters)
shared.time (parameters)
user.action (parameters)
user.bool (parameters)
user.choice (parameters)
user.enum (parameters)
user.group (parameters)
user.number (parameters)
user.percent (parameters)
user.string (parameters)
user.table (parameters)
user.time (parameters)

Tables

Format
Layer
Scope
Tag
Type
Visibility


Classes

SettingsActionArgs
: SettingsArgs
  • action function Function to perform when this settings entry is selected
SettingsArgs
  • id string|nil Dot-separated identifier for this setting
  • treeKey string|nil Dot-separated tree key for this setting, used for settings menu grouping (defaults to id)
  • alias string|nil Dot-separated fallback identifier for legacy settings
  • name string|nil Name by which this setting is displayed in menus
  • desc string|nil Optional description for this setting, which is displayed in menus upon selection
  • default any Default value for this setting
  • scope SettingsScope|nil Scope of this setting, controls storage and synchronization
  • order number|nil Order in which this setting appears within menus (defaults to math.huge)
  • visibility SettingsVisibility|nil Menu visibility of this setting
  • format function|nil Formatting function to convert the current value to its human-readable representation
  • enableIf function|nil Enable condition for the setting's menu entry (defaults to always enabled)
  • type SettingsType|nil Type of this setting. Typically overridden by registration functions
  • serializer function|nil Serialization function to convert the value to its JSON representation
  • deserializer function|nil Deserialization function to convert a JSON representation back into a value
  • setter function|nil Function to be called when this setting is modified
  • tag SettingsTag|SettingsTag[]|nil Tags the setting for certain use-cases, modifying its run-time behavior
  • layers SettingsLayer[]|nil Ordered list of "layers" that can override the value of this setting
  • writeLayer SettingsLayer|nil Layer to write the value back to, in case it is modified directly
SettingsChoiceArgs
: SettingsArgs
  • choices SettingsChoiceEntry[]
  • choiceMapping table
SettingsChoiceEntry
  • value any Value representing this choice option
  • name string|nil Name by which this choice option is displayed in menus (default: stringified value)
  • desc string|nil Optional description for this choice option, which is displayed in menus upon selection
SettingsEnumArgs
: SettingsChoiceArgs
  • enum table Enumeration table (see system.utils.Enum) containing the entries available for choice
SettingsGroupArgs
: SettingsArgs
  • entryOrder string[]|nil Sorting order for (unprefixed) keys in this settings group
  • prefixAll boolean|nil Prefixes all subsequent settings defined in the same script with this group's id
SettingsLayer
SettingsNumberArgs
: SettingsArgs
  • minimum number|nil Inclusive lower bound for the setting's value (default: negative infinity)
  • maximum number|nil Inclusive upper bound for the setting's value (default: positive infinity)
  • step number|nil Step size for increasing/decreasing the setting's value (default: 1)
  • editAsString boolean|nil Allows editing the setting's value via text input
SettingsRegistrationCategory
SettingsScope
SettingsStringArgs
: SettingsArgs
  • maxLength number|nil Inclusive upper bound for the length of the setting's value
SettingsTag
SettingsType
SettingsVisibility

Functions

Format.MULTIPLIER (value)

Parameters:

  • value
Format.PERCENT (value)

Parameters:

  • value
Format.TIME (value)

Parameters:

  • value
entitySchema.action (parameters)

Parameters:

  • parameters
entitySchema.bool (parameters)

Parameters:

  • parameters
entitySchema.choice (parameters)

Parameters:

  • parameters
entitySchema.enum (parameters)

Parameters:

  • parameters
entitySchema.group (parameters)

Parameters:

  • parameters
entitySchema.number (parameters)

Parameters:

  • parameters
entitySchema.percent (parameters)

Parameters:

  • parameters
entitySchema.string (parameters)

Parameters:

  • parameters
entitySchema.table (parameters)

Parameters:

  • parameters
entitySchema.time (parameters)

Parameters:

  • parameters
overridable.action (parameters)

Parameters:

  • parameters
overridable.bool (parameters)

Parameters:

  • parameters
overridable.choice (parameters)

Parameters:

  • parameters
overridable.enum (parameters)

Parameters:

  • parameters
overridable.group (parameters)

Parameters:

  • parameters
overridable.number (parameters)

Parameters:

  • parameters
overridable.percent (parameters)

Parameters:

  • parameters
overridable.string (parameters)

Parameters:

  • parameters
overridable.table (parameters)

Parameters:

  • parameters
overridable.time (parameters)

Parameters:

  • parameters
prefixAll (prefix)
Assigns a default key prefix for all settings defined in this file

Parameters:

  • prefix
shared.action (parameters)

Parameters:

  • parameters
shared.bool (parameters)

Parameters:

  • parameters
shared.choice (parameters)

Parameters:

  • parameters
shared.enum (parameters)

Parameters:

  • parameters
shared.group (parameters)

Parameters:

  • parameters
shared.number (parameters)

Parameters:

  • parameters
shared.percent (parameters)

Parameters:

  • parameters
shared.string (parameters)

Parameters:

  • parameters
shared.table (parameters)

Parameters:

  • parameters
shared.time (parameters)

Parameters:

  • parameters
user.action (parameters)

Parameters:

  • parameters
user.bool (parameters)

Parameters:

  • parameters
user.choice (parameters)

Parameters:

  • parameters
user.enum (parameters)

Parameters:

  • parameters
user.group (parameters)

Parameters:

  • parameters
user.number (parameters)

Parameters:

  • parameters
user.percent (parameters)

Parameters:

  • parameters
user.string (parameters)

Parameters:

  • parameters
user.table (parameters)

Parameters:

  • parameters
user.time (parameters)

Parameters:

  • parameters

Tables

Format
Layer

Fields:

  • DEFAULT 1 - Default value specified in the setting's own declaration
  • IMPORT 2 - Dynamically computed default value (config migration, Steam username, etc.)
  • LOCAL 3 - Locally chosen value by the user, saved to config file
  • REMOTE_PENDING 4 - Value selected by the host player (but not yet committed) for the current game session
  • REMOTE_OVERRIDE 5 - Value assigned by the server for the current game session
  • SCRIPT_OVERRIDE 6 - Value temporarily overwritten by a script
Scope

Fields:

  • SHARED 1 - Game session setting, displayed in the host player's "Game settings" menu, synchronized over the network.
  • USER 2 - Local setting, displayed in the game's "Options" menu, not synchronized (should not affect gameplay!)
  • OVERRIDABLE 3 - Overridable setting: displayed in both the "Options" and "Game settings" menu, representing an optionally server-side enforced client setting (such as a required zoom level)
Tag

Fields:

  • ENTITY_SCHEMA 1 - Entity-schema-relevant: allows the setting to be used in entity schema events, reloading the schema on change
  • TILE_SCHEMA 2 - Tile-schema-relevant: allows the setting to be used in tile schema events, reloading the schema on change
Type

Fields:

  • NONE 0 - Null setting (group, action): this setting does not hold data
  • ANY 1 - Arbitrary setting: this setting can hold any data
  • CHOICE 2 - Choice setting (boolean, enum): the user can select one from a list of pre-supplied choices
  • NUMBER 3 - Numeric setting: the user can increase or decrease the setting by fixed steps, or enter a custom value
  • STRING 4 - String setting: the user can enter a custom string
Visibility

Fields:

  • RESTRICTED 0 - Restricted: the setting cannot be accessed by any module other than the one defining it
  • HIDDEN 1 - Hidden: the setting is never shown in the options/settings menus (default for untyped settings)
  • ADVANCED 2 - Advanced: the setting is only displayed in Advanced mode
  • VISIBLE 3 - Visible: the setting is always visible (default for typed settings)
generated by LDoc 1.4.6