HammeriteEditor

Autoloads. Inherits Node

Hammerite editor integration facade (autoload: HammeriteEditor).

Embeds the Hammerite HammeriteMapEditor into a running game scene. This is the editor-dependent counterpart to hammerite-core's Hammerite autoload -- only use this if hammerite-editor is installed and enabled.

Properties

TypeNameDefault
HammeriteMapEditoreditornull
HammeriteEditorWorkspacesworkspacesnull

Methods

ReturnsMethod
HammeriteMapEditorintegrate(into: Node)
intregister_workspace(title: String, panel: Control)
voidunregister_workspace(id: int)
voidshow_workspace(id: int)
boolis_active()

Property descriptions

editor

var editor: HammeriteMapEditor = null

The level editor, or null until integrate() has built it.

workspaces

var workspaces: HammeriteEditorWorkspaces = null

The tab strip the editor lives in, and the seam a game hangs its own authoring on (HammeriteEditorWorkspaces). Built by integrate(); the level editor is workspace zero.

Method descriptions

integrate()

func integrate(into: Node) -> HammeriteMapEditor

Creates a Hammerite editor as a child of the given node into. On a layer of its own (HammeriteEditorCanvas) rather than straight into the tree, because the editor is drawn at ITS scale rather than at the host game's - see that class for why a tool should not grow because a game's menus did.

register_workspace()

func register_workspace(title: String, panel: Control) -> int

Offer panel alongside the level editor, on a tab titled title, returning the id to show or unregister it by - see HammeriteEditorWorkspaces.register_workspace(). For authoring that is not about the map in front of you - a game's dialogue, its quests, its loot tables - which wants the whole window rather than a panel, and wants to be in this shell because it keeps asking the open map who is in it.

unregister_workspace()

func unregister_workspace(id: int) -> void

Take a workspace out of the tab strip. The others keep their ids.

show_workspace()

func show_workspace(id: int) -> void

Bring the workspace id to the front, as clicking its tab does. An unknown id is an error.

is_active()

func is_active() -> bool

Returns true if the editor has been integrated and is currently active and visible.

Hammerite 1.0 · built from a6dd634, 2026-10-10