public void EndFileVisit(AseFile file) { BuildAnimations(); var renderer = m_GameObject.AddComponent <SpriteRenderer>(); renderer.sprite = m_Sprites[0]; renderer.sortingLayerName = m_SortingLayerName; renderer.sortingOrder = m_SortingOrder; var animator = m_GameObject.AddComponent <Animator>(); animator.runtimeAnimatorController = m_AnimatorController; animator.cullingMode = m_AnimatorCullingMode; m_AseFile = null; m_Context = null; m_Palette.Clear(); m_Layers.Clear(); m_Frames.Clear(); m_Sprites.Clear(); m_Clips.Clear(); m_AseFrameTagsChunk = null; m_UniqueNameifier.Clear(); m_GameObject = null; }
public void EndFileVisit(AseFile file) { // Add sprites to sprite atlas (or more correctly, add the scritable object that will add the sprites when import completes) var spriteAtlasUser = SpriteAtlasUserAsset.CreateSpriteAtlasUserAsset(m_SpriteAtlas); m_Context.AddObjectToAsset("__atlas", spriteAtlasUser); BuildAnimations(); var renderer = m_GameObject.AddComponent <SpriteRenderer>(); renderer.sprite = m_Sprites[0]; renderer.sortingLayerName = m_SortingLayerName; renderer.sortingOrder = m_SortingOrder; var animator = m_GameObject.AddComponent <Animator>(); animator.runtimeAnimatorController = m_AnimatorController; animator.cullingMode = m_AnimatorCullingMode; m_AseFile = null; m_Context = null; m_Palette.Clear(); m_Layers.Clear(); m_Frames.Clear(); m_Sprites.Clear(); m_Clips.Clear(); m_AseFrameTagsChunk = null; m_UniqueNameifier.Clear(); m_GameObject = null; }
public static AseChunk ReadChunk(AseFrame frame, ChunkType type, int size, AseReader reader) { var pos = reader.Position; AseChunk chunk = null; switch (type) { // Chunk types we care about case ChunkType.Palette: chunk = new AsePaletteChunk(frame, reader); break; case ChunkType.Layer: chunk = new AseLayerChunk(frame, reader); break; case ChunkType.Cel: chunk = new AseCelChunk(frame, reader, size); break; case ChunkType.ColorProfile: chunk = new AseColorProfileChunk(frame, reader); break; case ChunkType.FrameTags: chunk = new AseFrameTagsChunk(frame, reader); break; case ChunkType.Slice: chunk = new AseSliceChunk(frame, reader); break; case ChunkType.UserData: chunk = new AseUserDataChunk(frame, reader); break; // Chunk types we don't care about case ChunkType.OldPalette: chunk = new AseDummyChunk(frame, reader, type, size); break; // Chunk types we haven't handled yet. Indicates a bug that should be fixed. default: chunk = new AseDummyChunk(frame, reader, type, size); Debug.LogErrorFormat("Unhandled chunk type: {0}", ((ushort)type).ToString("X4")); break; } // Check that we read the right amount of bytes Assert.IsTrue((reader.Position - pos) == size, string.Format("Chunk {0} read {1} bytes but we were expected {2} bytes read", type, reader.Position - pos, size)); reader.LastChunk = chunk; return(chunk); }
public void VisitFrameTagsChunk(AseFrameTagsChunk frameTags) { m_AseFrameTagsChunk = frameTags; }