Server Events

From Tygron Support wiki
Jump to navigation Jump to search

Server events are events which are communicated to the server, and may affect all stakeholders. For example, a server event can automatically plan a measure or change attribute values of areas and neighborhoods, resulting in new overlay and indicator results.

Server Events can be used in multiple locations in the Tygron Platform; as part of a measure, when a scenario is activated, as part of a larger event bundle in the action menu, or during a cinematic sequence. Server Events allow for events to be triggered during a session, which will result in a reaction from the server.

See also: Measures, Scenarios, Actions & Cinematics

Different Server Event types

There are two flavors of Server Events: Logic Events and Player Events. The difference between these Event Types is that for Player Events at least one dedicated stakeholder needs to be assigned to the Server Event itself as event property. A good example of this is the asking for or receiving of a money transfer (MONEY_TRANSFER_ASK & MONEY_TRANSFER_GIVE) as a Server Event.

Logic Events do not require such a dedicated stakeholder and can be fired without one being assigned as property. A good example of this is the activation of a specific area (AREA_SET_ACTIVE) when creating a flooding as part of a measure. Events like CINEMATIC_STAKEHOLDER_START are also Logic Event Types, because the stakeholder is not a property of the event, but of the linked cinematic.

Logic Event Types

Below is a list describing the available Logic Server Event Types:

ACTION_LOG_EXPORT Export history of actions taken by participants.
ACTION_MENU_SET_FUNCTION_AVAILABLE Add or remove a function from a particular Action Menu.
ACTION_MENU_SET_MEASURE_AVAILABLE Add or remove a measure from a particular Action Menu.
ACTION_MENU_SET_UPGRADE_AVAILABLE Add or remove an upgrade from a particular Action Menu.
AREA_SET_ACTIVE Activate/deactivate a Area.
AREA_SET_ATTRIBUTE Set Area Attribute to given number Value.
AREAS_SET_ATTRIBUTES Per entry in the array, set the value of the attribute for the Area.
BUILDING_SET_ATTRIBUTE Set Building Attribute to given number Value.
BUILDING_SET_ATTRIBUTES Per entry in the array, set the values of the attribute for the Building.
CINEMATIC_STAKEHOLDER_START Start a cinematic for a specific stakeholder.
CINEMATIC_STAKEHOLDER_STOP Stop any cinematic for a specific stakeholder.
MEASUREMENT_LINE_ADD Add a LineMeasurement for an Overlay for a specific timeframe.
MEASUREMENT_POINT_ADD Add a PointMeasurement for an Overlay.
MEASUREMENT_ITEM_ADD Add a ItemMeasurement for an Overlay.
MEASUREMENT_SET_SUM Set a Measurement to add its base Overlays to itself.
MEASUREMENT_REMOVE Remove a measurement.
MEASUREMENT_SAVE Save a measurement.
MEASUREMENT_SET_OVERLAYS
NEIGHBORHOOD_SET_ATTRIBUTE Set an attribute for a neighborhood.
NET_CLUSTER_SET_FRACTION_CONNECTED Set the fraction of connected loads with a cluster.
NET_CLUSTER_SET_LOAD_ATTRIBUTE For each NetLoad of a NetCluster, set the value of the attribute.
NET_CLUSTER_SET_LOAD_ATTRIBUTES For each NetLoad of a NetCluster, set the values of the provided attributes.
NET_CLUSTERS_SET_STATE Per NetCluster, set all its Net Loads of the provided NetType to the given TimeState.
NET_CLUSTERS_SET_LOAD_ATTRIBUTES Per NetCluster, for each NetLoad of that NetCluster, set the values of the provided attributes.
NET_CLUSTERS_SET_DEFAULT_FRACTION_CONNECTED Set the default fraction of connected loads with a cluster.
NET_LINE_SET_ATTRIBUTE Set the attribute of a NetLine to the provided value.
NET_LINES_SET_ATTRIBUTE For each NetLine, set the value of the attribute.
NET_LINES_SET_ATTRIBUTES Per entry in the array, set the value of the attribute for the Netline.
SCENARIO_SET_ACTIVE Activate a scenario in a project session.
SEARCH Search for Neighborhood, Building or Address.
SET_NET_SETTING_BOOLEAN For boolean valued NetSettings, set the value to true or false.
SET_TRAFFIC_MULTIPLIER Multiply visual (only) traffic density with this factor.
SPECIAL_EFFECT_SET_ACTIVE Activate/deactivate a special effect.
UNIT_TYPE_SET_ACTIVE Activate/deactivate units of a specific type.
ZONE_SET_ATTRIBUTE Set an attribute for a zone.
ZONES_SET_ATTRIBUTES Set attributes to values for zones.
ZOOMLEVEL_SET_ACTIVE Activate or deactivate a zoom level.

Participant Event Types

Below is a list describing the available Player Event Types:

ACTION_MENU_SET_ACTIVE Set a category active for a stakeholder.
MEASURE_CANCEL_CONSTRUCTION Cancel a measure planned by an Stakeholder while in pre-construction phase.
MEASURE_PLAN_CONSTRUCTION Plan construction of a measure by an Stakeholder that is not yet planned.
MONEY_TRANSFER_GIVE Give money from one stakeholder to another.
NET_CLUSTER_SET_LOAD_ATTRIBUTE For each NetLoad of a NetCluster, set the value of the attribute.
NET_CLUSTER_SET_LOAD_ATTRIBUTES For each NetLoad of a NetCluster, set the value of the attribute.
NET_CLUSTER_SET_STATE Set TimeState for all Net Loads of Net Cluster.
NET_CLUSTER_SET_STATE_FOR_NET_TYPE Set TimeState for Net Loads of Net Cluster, based on NetType.
NET_CLUSTER_SET_STATES Set TimeState for all Net Loads of Net Cluster.

Adding Server Side Events to a project

As mentioned above, events can be added to a project element on multiple occasions and locations. Please refer to the main article relating to these elements for more information about the specific steps to take.

In general, adding Events to an element in the Tygron Platform happens on the right panel, after selecting the element (ex. measures, scenario, etc) to have an event added to on the left panel first. Select on the right panel bottom the 'Add Event' button; a default blank event named NO_DEF is created in the list above the buttons. Selecting an Event on the list and using the 'Remove Event' button deletes the event from the list.

Selecting an event on the right panel also opens up the bottom panel where the actual event type can be selected. This selection can then be confirmed on the bottom panel by using the 'Commit' button. The 'Cancel' button clears the selection on the bottom panel.

Event bundle bottom panel with 'Commit' and 'Cancel' buttons


How to add events to a project element:
  1. Select Project Element to have events added to
  2. Select the Event option on the left panel
  3. Select 'Add event' on the bottom of the right panel
  4. Select the newly added event on the right panel
  5. Select the desired server event from the bottom panel
  6. Confirm the selection with the 'Commit' button (or use the 'Cancel' button to clear the selection

Changing the properties of a Server Side Event in a project

The properties of events can be edited on the bottom panel (see image above). On this panel a linked ID of a measure or cinematic can be linked to an event for instance. Also can a dedicated stakeholder be selected here for Player Type Events. Again, any changed made need to be confirmed first with the 'Commit' button, or cancelled with the 'Cancel' button.