Difference between revisions of "Lib Config"
From Elite Wiki
m (Note about "Reset to defaults" option - Notify order) |
m (Added path example) |
||
Line 37: | Line 37: | ||
} |
} |
||
}; |
}; |
||
− | worldScripts.Lib_Config._registerSet(this.$ |
+ | worldScripts.Lib_Config._registerSet(this.$myOXPC); |
+ | |||
+ | Pathes can be used as well: |
||
+ | |||
+ | this.$path = { |
||
+ | dog: {dog:false}, |
||
+ | notify: function(boo){ |
||
+ | log("","Path Notify for "+boo); |
||
+ | } |
||
+ | }; |
||
+ | this.$myOXPC = {Name:this.name, Display:"Path", Alive:"$myOXPC", Notify:"$path.notify", |
||
+ | Bool:{ |
||
+ | B0:{Name:"$path.dog.dog", Def:false, Desc:"Blurp.", Notify:"$path.notify"}, |
||
+ | Info:"OK", Notify:"$path.notify" |
||
+ | } |
||
+ | }; |
||
+ | worldScripts.Lib_Config._registerSet(this.$myOXPC); |
||
Line 46: | Line 46: | ||
:;Alive: Required. String. Path to settings Object, e.g. "$mySettings". |
:;Alive: Required. String. Path to settings Object, e.g. "$mySettings". |
||
:;Notify: Optional. String. Path to global notification function when user leaves the OXP screen. |
:;Notify: Optional. String. Path to global notification function when user leaves the OXP screen. |
||
− | :;Reset: Optional. Boolean. If set allows "Reset to defaults" option. |
+ | :;Reset: Optional. Boolean. If set allows "Reset to defaults" option. See [[#Reset option|Reset option]]. |
and at least one of |
and at least one of |
||
Line 91: | Line 91: | ||
:} |
:} |
||
− | Note: |
||
+ | ===Reset option=== |
||
Lib_Configs "Reset to defaults" option handles the notifications as follows: |
Lib_Configs "Reset to defaults" option handles the notifications as follows: |
||
* If a global .Notify is declared it ignores group or property .Notify |
* If a global .Notify is declared it ignores group or property .Notify |
Latest revision as of 11:51, 21 August 2016
Contents
Overview
Lib_Config (part of Library) is a Interface to give AddOns the possibility to let users change settings in the game. It's really easy to implement the data and usually only needs a few lines of code. AddOns can also register multiple entries if they need some more options.
Methods
_registerSet
_registerSet: function( obj ) |
Register a data set on .startUpComplete or later.
Parameters:
- obj
- Object. See Full Dataset for its members.
Returns:
- n
- Number. Errorcode. If OK 0 (zero).
_unregisterSet
_unregisterSet: function( obj ) |
Unregister a data set.
Parameters:
- obj
- Object. See Full Dataset for its members.
Returns:
- n
- Number. Errorcode. If OK 0 (zero).
Examples
A very simple one with 1 boolean property to stare at:
this.$log = false; this.$myOXPC = {Name:this.name, Display:"Example A", Alive:"$myOXPC", Bool:{ B0:{Name:"$log", Def:false, Desc:"Blurp."}, Info:"Hmmm." } }; worldScripts.Lib_Config._registerSet(this.$myOXPC);
Pathes can be used as well:
this.$path = { dog: {dog:false}, notify: function(boo){ log("","Path Notify for "+boo); } }; this.$myOXPC = {Name:this.name, Display:"Path", Alive:"$myOXPC", Notify:"$path.notify", Bool:{ B0:{Name:"$path.dog.dog", Def:false, Desc:"Blurp.", Notify:"$path.notify"}, Info:"OK", Notify:"$path.notify" } }; worldScripts.Lib_Config._registerSet(this.$myOXPC);
Full Dataset
The members:
- Name
- Required. String. worldScript name, usually simply this.name.
- Display
- Required. String. Identifier for this specific settings Object, e.g. "Planets". Name and Display are used to sort and group settings Objects.
- Alive
- Required. String. Path to settings Object, e.g. "$mySettings".
- Notify
- Optional. String. Path to global notification function when user leaves the OXP screen.
- Reset
- Optional. Boolean. If set allows "Reset to defaults" option. See Reset option.
and at least one of
- Bool
- Boolean handling.
- B0
- Up to 9 unique Objects.
- Name
- Required. String. Path to boolean property, e.g. "$switchOn".
- Def
- Required. Boolean. Default value.
- Desc
- Required. String. Short description, e.g. "Add planets".
- Hide
- Optional. Boolean. Hide from display.
- Notify
- Optional. String. Path to notification function when user changes this property.
- },
- Info
- Optional. String. Description for the boolean settings. If prefixed with '^' points to a missiontext key.
- Notify
- Optional. String. Path to group notification function when user leaves the boolean screen.
- },
- SInt
- Number handling. Integer or Float. Used values can be in range -16777215...16777215 (or -0xffffff...0xffffff).
- S0
- Up to 9 unique Objects.
- Name
- Required. String. Path to integer or float property, e.g. "$amountMoons".
- Def
- Required. Number. Default value.
- Min
- Required. Number. Minimum value, e.g. -43.
- Max
- Required. Number. Maximum value, e.g. 0xfffffe.
- Desc
- Required. String. Short description, e.g. "Max planets".
- Float
- Optional. Boolean. If true floating point input allowed.
- Hide
- Optional. Boolean. Hide from display.
- Notify
- Optional. String. Path to notification function when user changes this property.
- },
- Info
- Optional. String. Description for the number settings. If prefixed with '^' points to a missiontext key.
- Notify
- Optional. String. Path to group notification function when user leaves the number screen.
- },
- EInt
- Bitmask handling. Positive Integer. Used values can be in range 0...16777215 (or 0x0...0xffffff).
- E0
- 1 object.
- Name
- Required. String. Path to bitmask property, e.g. "$myBitmask".
- Def
- Required. Number. Default value.
- Min
- Required. Number. Minimum value.
- Max
- Required. Number. Maximum value.
- Desc
- Required. Array. Contains Strings, describing the single elements.
- Hide
- Optional. Boolean. Hide from display.
- Notify
- Optional. String. Path to notification function when user changes this property.
- OneOf
- Optional. Boolean. Selects only one bit at a time.
- OneOfZero
- Optional. Boolean. Selects only one bit or none at a time.
- },
- Info
- Optional. String. Description for the bitmask settings. If prefixed with '^' points to a missiontext key.
- Notify
- Optional. String. Path to group notification function when user leaves the bitmask screen.
- }
Reset option
Lib_Configs "Reset to defaults" option handles the notifications as follows:
- If a global .Notify is declared it ignores group or property .Notify
- If no global .Notify and a group .Notify is declared it ignores property .Notify