Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
Gondwana.Drawing.Coordinates Namespace Reference

Classes

class  HexAxialFlatTopCoordinates
 Hexagonal – Flat-Top layout (even-q vertical layout) Bounding rectangle is (W x H). Centers advance by (0.75*W, H/2 per column parity)
class  HexAxialPointedTop
 Hexagonal – Pointed-Top layout (even-r horizontal layout) Bounding rectangle is (W x H). Centers advance by (W/2 per row parity, 0.75*H vertically)
interface  ISceneLayerCoordinates
 Defines the coordinate transformation logic for a SceneLayer, providing conversions between grid-space layer points and pixel-space positions, as well as geometric queries such as adjacency, polygon outlines, and wrapping behavior for different coordinate systems (square, isometric, hex, etc.).
class  IsometricAxialCoordinates
 Axial isometric projection using a horizontal column axis and a diagonal row axis. Each grid cell renders a diamond inside its W×H footprint. Column anchors advance by (W, 0), while row anchors advance by (W/2, H/2), packing the diamonds edge-to-edge. The pixel anchor is the top vertex of the diamond.
class  IsometricRhombicCoordinates
 Diagonal-Isometric (Diagonal Matrix) – same diamond projection but kept separate for alternative adjacency/rounding if needed. Uses identical math for now (clean, predictable behavior).
class  ObliqueLeftCoordinates
 Oblique projection using a left-receding, sheared square lattice. Columns remain horizontal while rows advance down and to the left, producing a parallelogram tile footprint rather than an isometric diamond.
class  ObliqueRightCoordinates
 Oblique projection using a right-receding, sheared square lattice. Columns remain horizontal while rows advance down and to the right, producing a parallelogram tile footprint rather than an isometric diamond.
class  OrthogonalCoordinates
 Provides orthogonal (rectangular grid) coordinate system implementation for scene layers. Tiles are arranged in a standard rectangular grid with no rotation or skewing.
class  RenderTileQuery
 Projection-specific fast traversal used only by full-frame rendering. Exact public intersection queries remain unchanged for gameplay, hit testing, and editor tooling.
class  TileBounds
 Provides utility methods for calculating tile boundaries and applying adjustments.

Enumerations

enum  CardinalDirections {
  N , NE , E , SE ,
  S , SW , W , NW
}
 Represents the eight cardinal and intercardinal directions of the compass. More...
enum  CoordinateSystemTypes {
  Orthogonal = 0 , IsometricRhombic = 1 , IsometricAxial = 2 , HexAxialFlatTop = 3 ,
  HexAxialPointedTop = 4 , ObliqueRight = 5 , ObliqueLeft = 6
}
 Identifies the layout and math rules used to map tiles to world pixels and world pixels back to grid coordinates. Each option defines a different tile geometry. Used by SceneLayer to choose the correct coordinate math for a given map. More...

Enumeration Type Documentation

◆ CardinalDirections

Represents the eight cardinal and intercardinal directions of the compass.

Enumerator
N 

North direction.

NE 

Northeast direction.

E 

East direction.

SE 

Southeast direction.

S 

South direction.

SW 

Southwest direction.

W 

West direction.

NW 

Northwest direction.

Definition at line 6 of file CardinalDirections.cs.

◆ CoordinateSystemTypes

Identifies the layout and math rules used to map tiles to world pixels and world pixels back to grid coordinates. Each option defines a different tile geometry. Used by SceneLayer to choose the correct coordinate math for a given map.

Enumerator
Orthogonal 

Axis-aligned square grid (Cartesian lattice).

IsometricRhombic 

Isometric projection using a rhombic (diamond) lattice.

IsometricAxial 

Isometric projection using an underlying square lattice with diagonal basis vectors.

HexAxialFlatTop 

Hexagonal grid using axial coordinates with flat-topped hexes.

HexAxialPointedTop 

Hexagonal grid using axial coordinates with pointy-topped hexes.

ObliqueRight 

Oblique projection using a right-receding, sheared square lattice. Numeric value 5 is retained for compatibility with existing serialized layers.

ObliqueLeft 

Oblique projection using a left-receding, sheared square lattice.

Definition at line 9 of file CoordinateSystemTypes.cs.