VertexAnimation/Runtime/Scripts/VA_AnimationLibrary.cs
max e4ca15301b AnimationLibrary Editor
AnimationLibraryBook editor setup.
AnimationLibrary texture2DArray generation and material setup.
2020-12-10 19:51:02 +01:00

56 lines
1.4 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace TAO.VertexAnimation
{
[CreateAssetMenu(fileName = "new AnimationLibrary", menuName = "AnimationLibrary", order = 0)]
public class VA_AnimationLibrary : ScriptableObject
{
[SerializeField]
private VA_AnimationBook[] animationBooks;
[HideInInspector]
public List<VA_AnimationData> animations = null;
public void Create()
{
foreach (VA_AnimationBook book in animationBooks)
{
book.Create();
}
ConvertAnimations();
}
private void OnValidate()
{
// TODO: Check for naming conflicts in AnimationBooks.
}
private void ConvertAnimations()
{
animations = new List<VA_AnimationData>();
if (animationBooks != null)
{
for (int b = 0; b < animationBooks.Length; b++)
{
if(animationBooks[b].animationPages != null)
{
for (int p = 0; p < animationBooks[b].animationPages.Count; p++)
{
animations.Add(new VA_AnimationData
{
name = new Unity.Collections.FixedString32(animationBooks[b].animationPages[p].name),
maxFrames = animationBooks[b].maxFrames,
frames = animationBooks[b].animationPages[p].frames,
frameTime = 1.0f / animationBooks[b].maxFrames,
duration = 1.0f / animationBooks[b].maxFrames * animationBooks[b].animationPages[p].frames
});
}
}
}
}
}
}
}