This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Landscape Tool
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

TileSetFile Class

Warning
The scope of applications for UnigineScript is limited to implementing materials-related logic (material expressions, scriptable materials, brush materials). Do not use UnigineScript as a language for application logic, please consider C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScript (beyond its scope of applications) is not guaranteed, as the current level of support assumes only fixing critical issues.

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.

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.
    Notice
    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, int & x, 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.
  • int & x - X-coordinate of the tile.
  • 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.
Notice
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.
    Notice
    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.
    Notice
    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.
    Notice
    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.
    Notice
    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.
    Notice
    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.
    Notice
    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.
Notice
The tileset file must be opened.

Return value

1, if the operation was successful; otherwise, 0.

Vector<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.
Last update: 2021-12-13
Build: ()