You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Text.RegularExpressions;
|
|
using UnityEngine;
|
|
|
|
namespace Aseprite
|
|
{
|
|
public enum MetaDataType { UNKNOWN, TRANSFORM };
|
|
|
|
public class MetaData
|
|
{
|
|
static public string MetaDataChar = "@";
|
|
|
|
public MetaDataType Type { get; private set; }
|
|
//Average position per frames
|
|
public Dictionary<int, Vector2> Transforms { get; private set; }
|
|
public List<string> Args { get; private set; }
|
|
|
|
public MetaData(string layerName)
|
|
{
|
|
var regex = new Regex("@transform\\(\"(.*)\"\\)");
|
|
var match = regex.Match(layerName);
|
|
if (match.Success)
|
|
{
|
|
Type = MetaDataType.TRANSFORM;
|
|
Args = new List<string>();
|
|
Args.Add(match.Groups[1].Value);
|
|
Transforms = new Dictionary<int, Vector2>();
|
|
}
|
|
else
|
|
Debug.LogWarning($"Unsupported aseprite metadata {layerName}");
|
|
}
|
|
}
|
|
}
|