예제 #1
0
        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);
        }
예제 #2
0
 public void WriteChanges(MetadataStorage storage)
 {
     storage.WriteNewMetadata(path, importer_meta);
 }
예제 #3
0
 private void InitPathsMetaDict(params SpriteRenderer[] overridables)
 {
     Sprite[] sprites = (from SpriteRenderer sr in overridables where sr.sprite select sr.sprite).ToArray();
     storage = new MetadataStorage(sprites);
 }