public override void OnImportAsset(AssetImportContext ase) { switch (Pivot) { case PivotPositionEnum.TopLeft: PivotPosition = new Vector2(0, 1); break; case PivotPositionEnum.TopCenter: PivotPosition = new Vector2(.5f, 1); break; case PivotPositionEnum.TopRight: PivotPosition = new Vector2(1, 1); break; case PivotPositionEnum.MidleLeft: PivotPosition = new Vector2(0, .5f); break; case PivotPositionEnum.MiddleCenter: PivotPosition = new Vector2(.5f, .5f); break; case PivotPositionEnum.MiddleRight: PivotPosition = new Vector2(1, .5f); break; case PivotPositionEnum.BottomLeft: PivotPosition = new Vector2(0, 0); break; case PivotPositionEnum.BottomCenter: PivotPosition = new Vector2(.5f, 0); break; case PivotPositionEnum.BottomRight: PivotPosition = new Vector2(1, 0); break; } Aseprite = new Aseprite(File.ReadAllBytes(ase.assetPath), MergedLayersImportOption, SeparateLayersImportOption, PivotPosition, Path.GetFileNameWithoutExtension(ase.assetPath)); if ((int)SeparateLayersImportOption > 0) { for (var l = 0; l < Aseprite.Layers.Length; l++) { ase.AddObjectToAsset(Aseprite.Layers[l].Texture.name, Aseprite.Layers[l].Texture); if ((int)SeparateLayersImportOption > 1) { foreach (var sprite in Aseprite.Layers[l].Sprites) { ase.AddObjectToAsset(sprite.name, sprite); } if ((int)SeparateLayersImportOption > 2) { AddAnimation($"Layer_{l}_", Aseprite.Layers[l].Sprites, ase); } } } } if (Aseprite.ColorPalette != null) { ase.AddObjectToAsset("Palette", Aseprite.ColorPalette); } if ((int)MergedLayersImportOption > 0) { ase.AddObjectToAsset(Aseprite.MergedLayer.Texture.name, Aseprite.MergedLayer.Texture); ase.SetMainObject(Aseprite.MergedLayer.Texture); if ((int)MergedLayersImportOption > 1) { foreach (var sprite in Aseprite.MergedLayer.Sprites) { ase.AddObjectToAsset(sprite.name, sprite); } if ((int)MergedLayersImportOption > 2) { AddAnimation("", Aseprite.MergedLayer.Sprites, ase); } } } else { if (Aseprite.ColorPalette != null) { ase.SetMainObject(Aseprite.ColorPalette); } } }