VASSAL Reference Manual
Global Property
Properties are like variables in programming - they have a Value which can be used by referencing the Property’s Name. Properties can be attached to a Zone, Map Window, or Module. The Global Properties component is a container for all properties attached to a Map or the Module. When looking for the value of a property of a GamePiece, global properties provide default values. If the property is not defined on the GamePiece itself, the value will come from the Zone occupied the by piece, the Map to which it belongs, or the Module overall, in that order.
A Game Piece can set the value of a Global Property with the Set Global Property trait.
To add a Global Property to your module, use the Editor’s configuration window to navigate to the [Global Properties] component, which is one of the top-level components of your module. Right-click on the [Global Properties] component and select Add Global Property. Your new Global Property will be added to the bottom of the list. You can follow a similar procedure to add a Global Property to one of your maps or zones — simply find the appropriate [Map] or [Zone] component and add to that.
|
Sub-Components
Change-Property Toolbar Button
Adds a button to the Toolbar of the Map Window or Module that changes the value of the Global Property. You can combine multiple buttons into a single drop-down menu using a Toolbar Menu.
To add a Change-Property Toolbar Button, locate the [Global Property] component which you wish to be able to change — in the Editor it will be inside the list of [Global Properties]. Right-click on the [Global Property] component and select Add Change-Property Toolbar Button.
|
|
Custom Code
Module custom code can read and modify a Global Property value. To get access to a Global Property named "PropertyName" you need to declare a variable as follows:
MutableProperty property = GameModule.getGameModule().getMutableProperty("PropertyName");
You can then get the value or set the value with:
property.getPropertyValue() property.setPropertyValue()
You can also trigger events on the change of the global property with the following methods:
addMutablePropertyChangeListener() removeMutablePropertyChangeListener()