Esempio n. 1
0
        public override void OnImportAsset(AssetImportContext ctx)
        {
            if (ctx == null)
            {
                return;
            }
            var path = ctx.assetPath;

            Debug.Log($"Importing File {path}");
            var fileInfo = new FileInfo(path);

            //file import helper
            _fileData = MultiLayerFileFactory.CreteFileFromPath(path);

            // Register root prefab that will be visible in project window instead of file

            switch (textureType)
            {
            case TextureType.Default:
                DefaultImport(ctx);
                break;

            case TextureType.Sprite:
                SpriteImport(ctx);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 2
0
        /// <summary> add layers as atlas </summary>
        private Texture2D CreateAtlas(
            MultiLayerImageFileData multiLayerImageFileData, out List <Sprite> sprites)
        {
            var textures     = multiLayerImageFileData.GetLayers();
            var atlasTexture = CrateAtlasTexture(textures, out var rects);
            var fileName     = multiLayerImageFileData.GetFileName();


            sprites = new List <Sprite>();

            for (var i = 0; i < rects.Length; i++)
            {
                var rect   = rects[i];
                var sprite = CreateAtlasSprite(atlasTexture, rect);
                // sprites
                sprite.name = multiLayerImageFileData.GetTextureName(textures[i]);
                sprites.Add(sprite);
            }

            atlasTexture.name = fileName;
            return(atlasTexture);
        }