public static SpriteMetadataReader GetReader(Sprite sprite, MetadataStorage storage) { if (!sprite) { throw new System.ArgumentException(); } string metadata = storage.GetMetadata(sprite); int.TryParse(metadata.Substring(kSpriteMode, kNewLine), out int mode); SpriteImportMode importMode = (SpriteImportMode)mode; SpriteMetadataReader reader; switch (importMode) { case SpriteImportMode.Multiple: reader = new SpriteInfoReader_Multiply(sprite.name); break; case SpriteImportMode.Single: reader = new SpriteInfoReader_Single(sprite.textureRect.size); break; default: throw new System.Exception($"{importMode} is unsupportable sprite import mode!"); } reader.path = MetadataStorage.GetAssetMetaFilePath(sprite); reader.Init(metadata); return(reader); }
public void WriteChanges(MetadataStorage storage) { storage.WriteNewMetadata(path, importer_meta); }
private void InitPathsMetaDict(params SpriteRenderer[] overridables) { Sprite[] sprites = (from SpriteRenderer sr in overridables where sr.sprite select sr.sprite).ToArray(); storage = new MetadataStorage(sprites); }