Пример #1
0
        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;
        }
Пример #2
0
        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;
        }
Пример #3
0
        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);
        }
Пример #4
0
 public void VisitFrameTagsChunk(AseFrameTagsChunk frameTags)
 {
     m_AseFrameTagsChunk = frameTags;
 }