mirror of
https://github.com/dcronqvist/DotTiled.git
synced 2025-05-08 20:36:03 +03:00
27 lines
861 B
C#
27 lines
861 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Numerics;
|
|
using System.Text.Json;
|
|
|
|
namespace DotTiled;
|
|
|
|
internal partial class Tmj
|
|
{
|
|
internal static BaseLayer ReadLayer(
|
|
JsonElement element,
|
|
Func<string, Template> externalTemplateResolver,
|
|
IReadOnlyCollection<CustomTypeDefinition> customTypeDefinitions)
|
|
{
|
|
var type = element.GetRequiredProperty<string>("type");
|
|
|
|
return type switch
|
|
{
|
|
"tilelayer" => ReadTileLayer(element, customTypeDefinitions),
|
|
"objectgroup" => ReadObjectLayer(element, externalTemplateResolver, customTypeDefinitions),
|
|
"imagelayer" => ReadImageLayer(element, customTypeDefinitions),
|
|
"group" => ReadGroup(element, externalTemplateResolver, customTypeDefinitions),
|
|
_ => throw new JsonException($"Unsupported layer type '{type}'.")
|
|
};
|
|
}
|
|
}
|