HammeriteBrushFill
Core: files, names and extension. Inherits RefCounted
A kind of medium an air brush can be filled with - water, and whatever else a game invents.
An air brush is a room, and a fill says what is IN that room instead of nothing. It is not a third volume tier: a filled brush still carves, still becomes a cell, still grows portals, and still lets light, sound and agents through. Everything that asks whether a brush is air keeps its answer, which is the whole reason a fill is a modifier rather than a HammeriteBrush.VolumeType. What a fill DOES at runtime is the game's business. Hammerite has no swimming in it, so a fill carries the classname of a node the game supplies, instantiated over each filled brush the way a brush entity's class is - see HammeriteBrushFillRegistry.
Properties
| Type | Name | Default |
|---|---|---|
StringName | id | &"" |
String | label | "" |
StringName | classname | &"" |
Color | color | Color(0.2, 0.5, 0.7, 1) |
ShaderMaterial | material | null |
Property descriptions
id
var id: StringName = &""
Identity in the registry, and what is stored on the brush. Registering a second fill under the same id replaces the first.
label
var label: String = ""
Name shown wherever an author picks a fill.
classname
var classname: StringName = &""
Global class name of the node to instantiate over each brush with this fill, or empty for a fill that is only a marker. Resolved from the project's global class list, like an entity's classname, so core never names a game's class.
color
var color: Color = Color(0.2, 0.5, 0.7, 1)
How the fill reads in the editor viewports. Nothing outside the editor looks at it.
material
var material: ShaderMaterial = null
What the fill's surface - the top of a filled room, seen from above and from in it - is drawn with, or null for a surface drawn as its texture. Each surface gets its own copy, with the fill's brush properties set on it; for water, a shader built on hammerite_water.gdshaderinc.