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(); } }
/// <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); }