Unigine.TileSetFile Class
This class is used to create a tileset file — the file that keeps data that is based on X and Y indices. The values of X and Y are limited to the integer and can be both positive and negative. The maximum size of the tile is limited to 2Gb. The maximum size of a tileset is limited to the unsigned integer value. Tileset files are stored using the .UTS and .UTSH formats. To unpack the file, use the TilesetFile console tool.
TilesetFile Class
Members
static TilesetFile()
Constructor. Creates a tileset file.int getNumTiles()
Returns the number of tiles in the tileset file.Return value
Number of tiles.long getOffset(int x, int y)
Returns the offset for the tile with specified coordinates.Arguments
- int x - X-coordinate value.
- int y - Y-coordinate value.
Return value
Offset value.int isOpened()
Returns a value indicating if the tileset file is opened.Return value
1 if the tileset file is opened; otherwise, 0.int setTile(int x, int y, byte[] data, int force = 1)
Sets the data of the specified tile by copying from the source buffer.Arguments
- int x - X-coordinate value.
- int y - Y-coordinate value.
- byte[] data - Source buffer.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushHeader() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushHeader() method.
Return value
1, if the operation was successful; otherwise, 0.int getTile(int x, int y, byte[] data)
Copies the data of the specified tile to the destination buffer.Arguments
- int x - X-coordinate value.
- int y - Y-coordinate value.
- byte[] data - Destination buffer.
Return value
1, if the operation was successful; otherwise, 0.int getTilePos(int num, out int x, out int y)
Retrieves the coordinates of the tile with a given index and puts them to x and y respectively.Arguments
- int num - Tile index.
- out int x - X-coordinate of the tile.
- out int y - Y-coordinate of the tile.
Return value
1, if the operation was successful; otherwise, 0.int getTileSize()
Returns the size of the tile for the tileset file.Return value
Tile size.int close()
Closes the tileset file.Return value
1, if the operation was successful; otherwise, 0.int createFile(string name, int tile_size)
Creates a tileset file with a given name and tile size.Arguments
- string name - File name.
- int tile_size - Tile size.
Return value
1, if the operation was successful; otherwise, 0.int flushHeader()
Applies all pending setTile() and removeTile() operations.The tileset file must be opened.
Return value
1, if the operation was successful; otherwise, 0.int hasTile(int x, int y)
Returns a value indicating if there is a tile with the specified coordinates in the file.Arguments
- int x - X-coordinate value.
- int y - Y-coordinate value.
Return value
1, if the file contains the specified tile; otherwise, 0.int load(string name)
Loads the given tileset file.Arguments
- string name - File name.
Return value
1, if the operation was successful; otherwise, 0.int removeTile(int x, int y, int force = 1)
Removes the tile with specified coordinates from the file.Arguments
- int x - X-coordinate value.
- int y - Y-coordinate value.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushHeader() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushHeader() method.
Return value
1, if the operation was successful; otherwise, 0.int setDoubleAttribute(string name, double value, int force = 1)
Sets the given value for the attribute with the specified name.Arguments
- string name - Attribute name.
- double value - Attribute value.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushAttributes() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushAttributes() method.
Return value
1, if the operation was successful; otherwise, 0.double getDoubleAttribute(string name)
Returns the current value of the attribute with the specified name.Arguments
- string name - Attribute name.
Return value
Attribute value.int setIntAttribute(string name, int value, int radix = 10, int force = 1)
Sets the given value for the attribute with the specified name.Arguments
- string name - Attribute name.
- int value - Attribute value to be set.
- int radix - Numerical base used to represent the value as a string, one of the following values:
- 2 - binary
- 10 - octal
- 10 - decimal
- 16 - hexadecimal
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushAttributes() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushAttributes() method.
Return value
1, if the operation was successful; otherwise, 0.int getIntAttribute(string name)
Returns the current value of the attribute with the specified name.Arguments
- string name - Attribute name.
Return value
Attribute value.int setFloatAttribute(string name, float value, int force = 1)
Sets the given value for the attribute with the specified name.Arguments
- string name - Attribute name.
- float value - Attribute value to be set.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushAttributes() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushAttributes() method.
Return value
1, if the operation was successful; otherwise, 0.float getFloatAttribute(string name)
Returns the current value of the attribute with the specified name.Arguments
- string name - Attribute name.
Return value
Attribute value.int hasAttribute(string name)
Returns a value indicating if an attribute with the specified name exists in the tileset file.Arguments
- string name - Attribute name.
Return value
1, if an attribute with the specified name exists; otherwise, 0.int setAttribute(string name, string value, int force = 1)
Sets the given value for the attribute with the specified name.Arguments
- string name - Attribute name.
- string value - Attribute value to be set as a string.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushAttributes() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushAttributes() method.
Return value
1, if the operation was successful; otherwise, 0.string getAttribute(string name)
Returns the current value of the attribute with the specified name.Arguments
- string name - Attribute name.
Return value
Attribute value as a string.int removeAttribute(string name, int force = 1)
Removes the attribute with the given name.Arguments
- string name - Name of the attribute to be removed.
- int force - Force flag.
- If 1 is specified, the data will be updated immediately.
- If 0 is specified, the data will be updated only when the flushAttributes() method is called.
To improve performance it is recommended to set this flag to 0 to accumulate multiple tile update operations and apply them all at once by calling the flushAttributes() method.
Return value
1, if the operation was successful; otherwise, 0.int flushAttributes()
Applies all pending setAttribute(), setDoubleAttribute(), setIntAttribute(), setFloatAttribute()and removeAttribute() operations.The tileset file must be opened.
Return value
1, if the operation was successful; otherwise, 0.string[] getAttributeNames()
Returns the list of names of all attributes in the tileset file.Return value
Vector containing names of all attributes in the tileset file.int CLOSED
Description
The tileset file is closed.int READING
Description
The system is reading from the tileset class.int WRITING
Description
The system is writing to the tileset class.Last update: 2018-08-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)