Skip to content

FormulaEngine Concepts Actions

Mike Lewis edited this page Feb 11, 2016 · 1 revision

FormulaEngine Concepts - Actions

Actions are the primary mechanism of changing things within a FormulaEngine universe. As the name implies, they perform some kind of well-specified update to the state of the simulation world.

As a general rule, actions are very generic and broad in their capabilities. Highly specific actions are generally a sign of departure from the FormulaEngine design philosophy. So for example, there is often an action like "SetProperty" which can update an arbitrary property from an entity; there should not, however, be an action like "DoDamage" or "SetHealth."

Actions are meant to be extensible by users of FormulaEngine, although for best results it helps to try and build things with the built-in actions first. The canned actions available in FormulaEngine can be found in /FormulaEngine/Actions.h deriving from IAction. Their implementations live in the next-door neighbor file Actions.cpp.

It is well worth reading through the code and its associated comments for details on the actions and how they are designed. For the sake of minimizing redundancy, that information is not copied here.

Clone this wiki locally