Type Alias micro_ldtk::ldtk::LdtkProject
source · pub type LdtkProject = Project;Aliased Type§
struct LdtkProject {Show 38 fields
pub forced_refs: Option<ForcedRefs>,
pub app_build_id: f64,
pub backup_limit: i64,
pub backup_on_save: bool,
pub backup_rel_path: Option<String>,
pub bg_color: String,
pub custom_commands: Vec<LdtkCustomCommand>,
pub default_entity_height: i64,
pub default_entity_width: i64,
pub default_grid_size: i64,
pub default_level_bg_color: String,
pub default_level_height: Option<i64>,
pub default_level_width: Option<i64>,
pub default_pivot_x: f64,
pub default_pivot_y: f64,
pub defs: Definitions,
pub dummy_world_iid: String,
pub export_level_bg: bool,
pub export_png: Option<bool>,
pub export_tiled: bool,
pub external_levels: bool,
pub flags: Vec<Flag>,
pub identifier_style: IdentifierStyle,
pub iid: String,
pub image_export_mode: ImageExportMode,
pub json_version: String,
pub level_name_pattern: String,
pub levels: Vec<Level>,
pub minify_json: bool,
pub next_uid: i64,
pub png_file_pattern: Option<String>,
pub simplified_export: bool,
pub toc: Vec<LdtkTableOfContentEntry>,
pub tutorial_desc: Option<String>,
pub world_grid_height: Option<i64>,
pub world_grid_width: Option<i64>,
pub world_layout: Option<WorldLayout>,
pub worlds: Vec<World>,
}Fields§
§forced_refs: Option<ForcedRefs>This object is not actually used by LDtk. It ONLY exists to force explicit references to all types, to make sure QuickType finds them and integrate all of them. Otherwise, Quicktype will drop types that are not explicitely used.
app_build_id: f64LDtk application build identifier.
This is only used to identify the LDtk version
that generated this particular project file, which can be useful for specific bug fixing.
Note that the build identifier is just the date of the release, so it’s not unique to
each user (one single global ID per LDtk public release), and as a result, completely
anonymous.
backup_limit: i64Number of backup files to keep, if the backupOnSave is TRUE
backup_on_save: boolIf TRUE, an extra copy of the project will be created in a sub folder, when saving.
backup_rel_path: Option<String>Target relative path to store backup files
bg_color: StringProject background color
custom_commands: Vec<LdtkCustomCommand>An array of command lines that can be ran manually by the user
default_entity_height: i64Default height for new entities
default_entity_width: i64Default width for new entities
default_grid_size: i64Default grid size for new layers
default_level_bg_color: StringDefault background color of levels
default_level_height: Option<i64>WARNING: this field will move to the worlds array after the “multi-worlds” update.
It will then be null. You can enable the Multi-worlds advanced project option to enable
the change immediately.
Default new level height
default_level_width: Option<i64>WARNING: this field will move to the worlds array after the “multi-worlds” update.
It will then be null. You can enable the Multi-worlds advanced project option to enable
the change immediately.
Default new level width
default_pivot_x: f64Default X pivot (0 to 1) for new entities
default_pivot_y: f64Default Y pivot (0 to 1) for new entities
defs: DefinitionsA structure containing all the definitions of this project
dummy_world_iid: StringIf the project isn’t in MultiWorlds mode, this is the IID of the internal “dummy” World.
export_level_bg: boolIf TRUE, the exported PNGs will include the level background (color or image).
export_png: Option<bool>WARNING: this deprecated value is no longer exported since version 0.9.3 Replaced
by: imageExportMode
export_tiled: boolIf TRUE, a Tiled compatible file will also be generated along with the LDtk JSON file (default is FALSE)
external_levels: boolIf TRUE, one file will be saved for the project (incl. all its definitions) and one file in a sub-folder for each level.
flags: Vec<Flag>An array containing various advanced flags (ie. options or other states). Possible
values: DiscardPreCsvIntGrid, ExportOldTableOfContentData,
ExportPreCsvIntGridFormat, IgnoreBackupSuggest, PrependIndexToLevelFileNames,
MultiWorlds, UseMultilinesType
identifier_style: IdentifierStyleNaming convention for Identifiers (first-letter uppercase, full uppercase etc.) Possible
values: Capitalize, Uppercase, Lowercase, Free
iid: StringUnique project identifier
image_export_mode: ImageExportMode“Image export” option when saving project. Possible values: None, OneImagePerLayer,
OneImagePerLevel, LayersAndLevels
json_version: StringFile format version
level_name_pattern: StringThe default naming convention for level identifiers.
levels: Vec<Level>All levels. The order of this array is only relevant in LinearHorizontal and
linearVertical world layouts (see worldLayout value).
Otherwise, you should
refer to the worldX,worldY coordinates of each Level.
minify_json: boolIf TRUE, the Json is partially minified (no indentation, nor line breaks, default is FALSE)
next_uid: i64Next Unique integer ID available
png_file_pattern: Option<String>File naming pattern for exported PNGs
simplified_export: boolIf TRUE, a very simplified will be generated on saving, for quicker & easier engine integration.
toc: Vec<LdtkTableOfContentEntry>All instances of entities that have their exportToToc flag enabled are listed in this
array.
tutorial_desc: Option<String>This optional description is used by LDtk Samples to show up some informations and instructions.
world_grid_height: Option<i64>WARNING: this field will move to the worlds array after the “multi-worlds” update.
It will then be null. You can enable the Multi-worlds advanced project option to enable
the change immediately.
Height of the world grid in pixels.
world_grid_width: Option<i64>WARNING: this field will move to the worlds array after the “multi-worlds” update.
It will then be null. You can enable the Multi-worlds advanced project option to enable
the change immediately.
Width of the world grid in pixels.
world_layout: Option<WorldLayout>WARNING: this field will move to the worlds array after the “multi-worlds” update.
It will then be null. You can enable the Multi-worlds advanced project option to enable
the change immediately.
An enum that describes how levels are organized in
this project (ie. linearly or in a 2D space). Possible values: <null>, Free,
GridVania, LinearHorizontal, LinearVertical
worlds: Vec<World>This array will be empty, unless you enable the Multi-Worlds in the project advanced
settings.
- in current version, a LDtk project file can only contain a single
world with multiple levels in it. In this case, levels and world layout related settings
are stored in the root of the JSON.
- with “Multi-worlds” enabled, there will be a
worlds array in root, each world containing levels and layout settings. Basically, it’s
pretty much only about moving the levels array to the worlds array, along with world
layout related values (eg. worldGridWidth etc).
If you want to start
supporting this future update easily, please refer to this documentation:
https://github.com/deepnight/ldtk/issues/231