Skip to content

mwseMCMVariable⚓︎

A Variable is an object that determines the type and location of the value being set by a setting. It could be a field on a table, or inside a config file, etc.

The Variable base class can be used for custom variables by defining the get and set fields to retrieve and save the value to a specified location. Variable subclasses exist for default behavior.

Properties⚓︎

class⚓︎

The type of the variable.

Returns:

  • result (string)

componentType⚓︎

The type of this component.

Returns:

  • result ("Variable")

converter⚓︎

This function is called when the value of the variable is changed. The function can modify the new value before it is stored.

Returns:

  • result (fun(newValue): unknown)

id⚓︎

The unique identifier for the variable.

Returns:

  • result (string)

inGameOnly⚓︎

If true, the setting containing this variable will be disabled while the game is on main menu.

Returns:

  • result (boolean)

restartRequired⚓︎

If true, updating the setting containing this variable will notify the player to restart the game.

Returns:

  • result (boolean)

restartRequiredMessage⚓︎

The default text is a localized version of: "The game must be restarted before this change will come into effect.".

Returns:

  • result (string)

value⚓︎

The value stored in the variable.

Returns:

  • result (unknown)

Methods⚓︎

get⚓︎

Returns the value stored in the variable.

local value = myObject:get()

Returns:

  • value (unknown)

new⚓︎

Creates a new variable of this type.

local variable = myObject:new({ id = ..., inGameOnly = ..., numbersOnly = ..., restartRequired = ..., restartRequiredMessage = ..., converter = ... })

Parameters:

  • variable (table, string): Optional. If passing only a string, it will be used as variable's id.
    • id (string): Optional. The unique identifier for the variable.
    • inGameOnly (boolean): Default: false. If true, the setting containing this variable will be disabled if the game is on main menu.
    • numbersOnly (boolean): Default: false. If true, only numbers will be allowed for this variable in TextFields.
    • restartRequired (boolean): Default: false. If true, updating the setting containing this variable will notify the player to restart the game.
    • restartRequiredMessage (string): Optional. The default text is a localized version of: "The game must be restarted before this change will come into effect.".
    • converter (fun(newValue): unknown): Optional. This function is called when the value of the variable is changed. The function can modify the new value before it is saved.

Returns:


set⚓︎

Changes the value stored in the variable. Calls the converter function with the new value before saving.

myObject:set(newValue)

Parameters:

  • newValue (unknown)