Monday, July 3, 2017

Abiathar API - Interacting with tilesets

Abiathar supports four tilesets at the moment: background, foreground, infoplane, and combined foreground/infoplane. The IDs for these are set by the Tileset enumeration. Tileset objects returned by the CurTileset and TilePalette properties of the state manager have these members:

  • TileCount returns the number of tiles in the palette.
  • Width and Height are the dimensions of the palette in tiles.
  • TileIDAt returns the ID of the tile at the given X and Y, or nothing if there's no tile there.
  • TilePos returns the X and Y in tiles of the given tile ID, or nothing if that tile isn't in the tileset.
  • TechnicalCount returns how many tiles the actual graphics source has of this type. Since there are only two kinds - unmasked and masked - all sets except the background have the same technical count.
  • ViewStart is the ID of the first tile in the tileset.
  • Includes returns whether the tileset has tiles useful for the given normal plane (0 to 2).
  • ID returns the ID of the tileset.
The tileinfo registry (acquired through TileinfoAccessor on the state manager) has these properties:
  • ForegroundTileProp gets or sets the Abiathar Tile Property ID for the given foreground tile. To interpret these values, use the TileinfoHelper class. To create such values, use PropertyAssemblyHelper.AssembleForegroundProperty.
  • BackgroundTileProp does likewise, but for the background. To interpret, use the BackgroundAnimHelper class. To create, use PropertyAssemblyHelper.AssembleBackgroundProperty.
  • EditableTileinfo returns whether the current project's tileinfo is editable. If it's not, changes to tileinfo will be ignored.

No comments:

Post a Comment