WorldScript Class

From Heroes of Hammerwatch wiki
Jump to: navigation, search

Worldscript classes are defined using the [WorldScript] metadata:

[WorldScript color="176 196 222" icon="system/icons.png;416;128;32;32"]
class ScriptLink

Possible options for the metadata are:

  • color specifies the color that the editor will show this script as when placed in a level. This can be a hexadecimal color (if it starts with #) or an RGB pair.
  • icon contains the texture and coordinates of where the worldscript icon is that should be shown in editor, in the format filename;x;y;width;height.
  • alias is an optional string that can be used as an alternative name for the script. This is useful when a class name has changed, so that it can still be loaded by level files that reference the script by its old name. You can specify multiple names here, separated by commas.

Methods called from engine

The engine calls the following functions, if they exist:

  • void Initialize()
  • void Cleanup()
  • void Update(int dt)
  • void PostUpdate(int dt)
  • SValue@ ServerExecute()
  • void ClientExecute(SValue@)
  • void OnEnabledChanged(bool enabled)
  • void DebugDraw(vec2, SpriteBatch&)
  • SValue@ Save()
  • void Load(SValue@ save)

Remarks

Worldscripts are only executable if they have a ClientExecute or a ServerExecute method. If neither of these methods exist, you can not target the worldscript to execute.