mirror of
https://github.com/dcronqvist/DotTiled.git
synced 2025-02-05 08:52:50 +02:00
Update docs section on CustomEnumDefinitions with new storage type parameter info
This commit is contained in:
parent
2e8eaa5a72
commit
666a3433e3
1 changed files with 5 additions and 2 deletions
|
@ -138,7 +138,7 @@ The equivalent definition in DotTiled would look like the following:
|
||||||
var entityTypeDefinition = new CustomEnumDefinition
|
var entityTypeDefinition = new CustomEnumDefinition
|
||||||
{
|
{
|
||||||
Name = "EntityType",
|
Name = "EntityType",
|
||||||
StorageType = CustomEnumStorageType.Int,
|
StorageType = CustomEnumStorageType.String,
|
||||||
ValueAsFlags = false,
|
ValueAsFlags = false,
|
||||||
Values = [
|
Values = [
|
||||||
"Bomb",
|
"Bomb",
|
||||||
|
@ -149,7 +149,7 @@ var entityTypeDefinition = new CustomEnumDefinition
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
Similarly to custom class definitions, you can also automatically generate custom enum definitions from C# enums. This is done by using the <xref:DotTiled.CustomEnumDefinition.FromEnum``1> method, or one of its overloads. This method will generate a <xref:DotTiled.CustomEnumDefinition> from a given C# enum, and you can then use this definition when loading your maps.
|
Similarly to custom class definitions, you can also automatically generate custom enum definitions from C# enums. This is done by using the <xref:DotTiled.CustomEnumDefinition.FromEnum``1(DotTiled.CustomEnumStorageType)> method, or one of its overloads. This method will generate a <xref:DotTiled.CustomEnumDefinition> from a given C# enum, and you can then use this definition when loading your maps.
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
enum EntityType
|
enum EntityType
|
||||||
|
@ -171,6 +171,9 @@ The generated custom enum definition will be identical to the one defined manual
|
||||||
|
|
||||||
For enum definitions, the <xref:System.FlagsAttribute> can be used to indicate that the enum should be treated as a flags enum. This will make it so the enum definition will have `ValueAsFlags = true` and the enum values will be treated as flags when working with them in DotTiled.
|
For enum definitions, the <xref:System.FlagsAttribute> can be used to indicate that the enum should be treated as a flags enum. This will make it so the enum definition will have `ValueAsFlags = true` and the enum values will be treated as flags when working with them in DotTiled.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Tiled supports enums which can store their values as either strings or integers, and depending on the storage type you have specified in Tiled, you must make sure to have the same storage type in your <xref:DotTiled.CustomEnumDefinition>. This can be done by setting the `StorageType` property to either `CustomEnumStorageType.String` or `CustomEnumStorageType.Int` when creating the definition, or by passing the storage type as an argument to the <xref:DotTiled.CustomEnumDefinition.FromEnum``1(DotTiled.CustomEnumStorageType)> method. To be consistent with Tiled, <xref:DotTiled.CustomEnumDefinition.FromEnum``1(DotTiled.CustomEnumStorageType)> will default to `CustomEnumStorageType.String` for the storage type parameter.
|
||||||
|
|
||||||
## Mapping properties to C# classes or enums
|
## Mapping properties to C# classes or enums
|
||||||
|
|
||||||
So far, we have only discussed how to define custom property types in DotTiled, and why they are needed. However, the most important part is how you can map properties inside your maps to their corresponding C# classes or enums.
|
So far, we have only discussed how to define custom property types in DotTiled, and why they are needed. However, the most important part is how you can map properties inside your maps to their corresponding C# classes or enums.
|
||||||
|
|
Loading…
Add table
Reference in a new issue