Client Event: Difference between revisions

From Tygron Support wiki
Jump to navigation Jump to search
Line 3: Line 3:
==What is a Client Event==
==What is a Client Event==
:''Main article: [[Events]]''
:''Main article: [[Events]]''
Client events are not communicated to the server and and are usually a graphical effect for the [[stakeholder]] who triggered the event. Examples of this include the flashing of an [[Actions|action]] menu or an [[indicator]] to draw the user's attention, or the visualization of a [[weather]] effect, such as a rain storm.
Client events are not communicated to the server and and are usually a graphical effect for the [[stakeholder]] who triggered the event. Examples of this include the flashing of an [[Actions|action]] menu or an [[Indicators|indicator]] to draw the user's attention, or the visualization of a [[Weather|weather]] effect, such as a rain storm.


==How do Server Events relate to the Tygron Engine==
==How do Server Events relate to the Tygron Engine==

Revision as of 08:31, 26 August 2015

Please note: This page is currently being updated.

Template:Learned

What is a Client Event

Main article: Events

Client events are not communicated to the server and and are usually a graphical effect for the stakeholder who triggered the event. Examples of this include the flashing of an action menu or an indicator to draw the user's attention, or the visualization of a weather effect, such as a rain storm.

How do Server Events relate to the Tygron Engine

Client Events can be used on multiple locations in the Tygron Engine; as part of a measure, as part of a larger event bundle in the action menu, or during a cinematic sequence. Client Events do not communicate with the server, but trigger a reaction locally on the user's system.

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 terrain type (TERRAIN_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_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
BEAMER_SET_LAYER Set the beamer layer to a specific overlay type
CINEMATIC_STAKEHOLDER_START Start a cinematic for a specific stakeholder
CINEMATIC_STAKEHOLDER_STOP Stop any cinematic for a specific stakeholder
LEVEL_SET_ACTIVE Activate a game level
MEASURE_UPDATE_CUSTOM Update a custom made measure
MESSAGE_ACTIVATE Activate a specific message
MESSAGE_REVOKE Revoke a message. Effects are not revoked
MESSAGE_RESET Reset a message. Sets the message as inactive and clears the send date.
SETTINGS_ALLOW_GAME_INTERACTION Allow interaction with the project during a session, after a pause moment or level switch
SETTINGS_SET_MESSAGE_AUTO_RESPOND When activated, messages to non-human players and session facilitators are automatically replied to
SPECIAL_EFFECT_SET_ACTIVE Activate/deactivate a special effect
TERRAIN_SET_ACTIVE Activate/deactivate a terrain
TERRAIN_SET_POLYGON Activate/deactivate a polygon as terrain (Safe Zone, Flood Hazard Zone, etc)
TIME_SET_SIM_MULTIPLIER Set the game time multiplier. A value of 1 means that 1 sec in real life is also 1 sec in simulation time. 2 means 1 sec in real life is 2 sec in simulation time
UNIT_SET_ACTIVE Activate/deactivate a unit (vehicles etc)
WEATHER_SET_DATA Set rain data of the weather
ZOOMLEVEL_SET_ACTIVE Activate or deactivate a zoom level

Player Event Types

Below is a list describing the available Player Event Types:

ACTION_MENU_SET_ACTIVE Set a category of actions available for a stakeholder
MEASURE_CANCEL_CONSTRUCTION Cancel a measure planned by a stakeholder while in pre-construction phase
MEASURE_PLAN_CONSTRUCTION Plan construction of a measure by a stakeholder that is not yet planned
MESSAGE_NEW Send a message between Stakeholders through the message panel
MONEY_TRANSFER_ASK Ask for money from one stakeholder to another
MONEY_TRANSFER_GIVE Give money from one stakeholder to another
SETTINGS_SET_ALLOWED_WATER_LEVEL_INCREASE Set the maximum allowed water rise amount in meters in 'polder water' (= open water)

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 Engine happens on the right panel, after selecting the element (ex. measures, levels, 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.