very dirty experiment for render flash anim data

This commit is contained in:
2016-02-23 01:34:37 +06:00
parent 0f08f8dd04
commit 60a10c9006
10 changed files with 430 additions and 134 deletions

View File

@@ -28,6 +28,12 @@ namespace FlashTools {
Folder
}
public enum FlashAnimLoopingType {
Loop,
PlayOnce,
SingleFrame
}
public enum FlashAnimInstType {
Bitmap,
Symbol
@@ -38,70 +44,42 @@ namespace FlashTools {
MovieClip
}
[System.Serializable]
public struct FlashAnimMatrix {
public float a;
public float b;
public float c;
public float d;
public float tx;
public float ty;
public FlashAnimMatrix(
float a, float b, float c, float d,
float tx, float ty)
{
this.a = a;
this.b = b;
this.c = c;
this.d = d;
this.tx = tx;
this.ty = ty;
}
static public FlashAnimMatrix identity {
get {
return new FlashAnimMatrix(
1.0f, 1.0f, 1.0f, 1.0f,
0.0f, 0.0f);
}
}
}
[System.Serializable]
public class FlashAnimBitmapData {
public string Id = string.Empty;
public string ImageSource = string.Empty;
public string Id = string.Empty;
public Vector2 RealSize = Vector2.zero;
public Rect SourceRect = new Rect();
public string ImageSource = string.Empty;
}
[System.Serializable]
public class FlashAnimInstData {
public FlashAnimInstType Type = FlashAnimInstType.Bitmap;
public FlashAnimInstSymbolType SymbolType = FlashAnimInstSymbolType.Graphic;
public FlashAnimBlendMode BlendMode = FlashAnimBlendMode.Normal;
public string Asset = string.Empty;
public bool Visible = true;
// TODO: color_mode, looping, filters
public FlashAnimInstType Type = FlashAnimInstType.Bitmap;
public FlashAnimInstSymbolType SymbolType = FlashAnimInstSymbolType.Graphic;
public FlashAnimBlendMode BlendMode = FlashAnimBlendMode.Normal;
public string Asset = string.Empty;
public bool Visible = true;
public FlashAnimLoopingType LoopingType = FlashAnimLoopingType.SingleFrame;
public int LoopingFirstFrame = 0;
// TODO: color_mode, filters
}
[System.Serializable]
public class FlashAnimElemData {
public string Id = string.Empty;
public int Depth = 0;
public FlashAnimMatrix Matrix = FlashAnimMatrix.identity;
public List<FlashAnimInstData> Insts = new List<FlashAnimInstData>();
public string Id = string.Empty;
public Matrix4x4 Matrix = Matrix4x4.identity;
public FlashAnimInstData Instance = null;
}
[System.Serializable]
public class FlashAnimFrameData {
public string Id = string.Empty;
public int Index = 0;
public int Duration = 0;
public List<FlashAnimElemData> Elems = new List<FlashAnimElemData>();
public string Id = string.Empty;
public List<FlashAnimElemData> Elems = new List<FlashAnimElemData>();
}
[System.Serializable]
public class FlashAnimLayerData {
public string Id = string.Empty;
public bool Visible = true;
public FlashAnimLayerType LayerType = FlashAnimLayerType.Normal;
public List<FlashAnimFrameData> Frames = new List<FlashAnimFrameData>();
}
@@ -120,13 +98,13 @@ namespace FlashTools {
[System.Serializable]
public class FlashAnimData {
public Texture2D Atlas = null;
public FlashAnimSymbolData Stage = new FlashAnimSymbolData();
public FlashAnimLibraryData Library = new FlashAnimLibraryData();
public List<string> Strings = new List<string>();
}
public class FlashAnimAsset : ScriptableObject {
public FlashAnimData Data = new FlashAnimData();
public float PixelsPerUnit = 100.0f;
public FlashAnimData Data = new FlashAnimData();
}
}