Skip to content

TilePanelNode

Namespace: Hex1b

Assembly: Hex1b.dll

Render node for . Manages viewport math, tile fetching, POI positioning, and input bindings.

csharp
public sealed class TilePanelNode : Hex1bNode, IDisposable

Inheritance

ObjectHex1bNodeTilePanelNode

Implements

Properties

CameraX

Camera X position in tile coordinates.

Returns: Double

csharp
public double CameraX { get; set; }

CameraY

Camera Y position in tile coordinates.

Returns: Double

csharp
public double CameraY { get; set; }

ContentChild

The reconciled content child node. This is the root of the widget tree built by the tile panel widget.

Returns: Hex1bNode

csharp
public Hex1bNode? ContentChild { get; set; }

DataSource

The tile data source.

Returns: ITileDataSource

csharp
public ITileDataSource? DataSource { get; }

IsFocusable

Tile panel nodes are NOT themselves focusable - focus passes through to children.

Returns: Boolean

csharp
public override bool IsFocusable { get; }

IsFocused

Focus state exists on the content child, not the tile panel node itself.

Returns: Boolean

csharp
public override bool IsFocused { get; set; }

PointsOfInterest

Points of interest to display on the map.

Returns: IReadOnlyList<TilePointOfInterest>

csharp
public IReadOnlyList<TilePointOfInterest> PointsOfInterest { get; }

ZoomLevel

Zoom level. 0 = 1x, 1 = 2x, 2 = 4x, etc.

Returns: Int32

csharp
public int ZoomLevel { get; set; }

Methods

ArrangeCore(Rect)

Override this method to implement arranging logic for this node. The base implementation saves previous bounds, marks dirty on change, and sets bounds.

Parameters:

csharp
protected override void ArrangeCore(Rect rect)

Dispose()

Disposes the tile cache and cancels pending background fetches.

csharp
public void Dispose()

GetChildren()

Gets the direct children of this node. Used for input routing and tree traversal. Container nodes should override this to return their children.

Returns: IEnumerable<Hex1bNode>

csharp
public override IEnumerable<Hex1bNode> GetChildren()

GetFocusableNodes()

Gets all focusable nodes in this subtree (including this node if focusable).

Returns: IEnumerable<Hex1bNode>

csharp
public override IEnumerable<Hex1bNode> GetFocusableNodes()

MeasureCore(Constraints)

Override this method to implement measuring logic for this node.

Parameters:

Returns: Size

csharp
protected override Size MeasureCore(Constraints constraints)

Render(Hex1bRenderContext)

Renders the node to the given context.

Parameters:

csharp
public override void Render(Hex1bRenderContext context)

Released under the MIT License.