Esempio n. 1
0
        public object Load(Stream stream, UFile filePath, ILogger log, bool clearBrokenObjectReferences, out bool aliasOccurred, out AttachedYamlAssetMetadata yamlMetadata)
        {
            aliasOccurred = false;

            var assetFileExtension = filePath.GetFileExtension().ToLowerInvariant();
            var type  = AssetRegistry.GetAssetTypeFromFileExtension(assetFileExtension);
            var asset = (SourceCodeAsset)Activator.CreateInstance(type);

            var textAccessor = asset.TextAccessor as DefaultTextAccessor;

            if (textAccessor != null)
            {
                // Don't load the file if we have the file path
                textAccessor.FilePath = filePath;

                // Set the assets text if it loaded from an in-memory version
                // TODO: Propagate dirtiness?
                if (stream is MemoryStream)
                {
                    var reader = new StreamReader(stream, Encoding.UTF8);
                    textAccessor.Set(reader.ReadToEnd());
                }
            }

            // No override in source code assets
            yamlMetadata = new AttachedYamlAssetMetadata();
            return(asset);
        }
Esempio n. 2
0
        public object Load(Stream stream, string filePath, ILogger log, out bool aliasOccurred)
        {
            aliasOccurred = false;

            var assetFileExtension = Path.GetExtension(filePath).ToLowerInvariant();
            var type  = AssetRegistry.GetAssetTypeFromFileExtension(assetFileExtension);
            var asset = (SourceCodeAsset)Activator.CreateInstance(type);

            var textAccessor = asset.TextAccessor as SourceCodeAsset.DefaultTextAccessor;

            if (textAccessor != null)
            {
                // Don't load the file if we have the file path
                textAccessor.FilePath = filePath;

                // Set the assets text if it loaded from an in-memory version
                // TODO: Propagate dirtiness?
                if (stream is MemoryStream)
                {
                    var reader = new StreamReader(stream, Encoding.UTF8);
                    textAccessor.Set(reader.ReadToEnd());
                }
            }

            return(asset);
        }
        public object Load(Stream stream, string assetFileExtension, ILogger log, out bool aliasOccurred)
        {
            aliasOccurred = false;
            var type  = AssetRegistry.GetAssetTypeFromFileExtension(assetFileExtension);
            var asset = (SourceCodeAsset)Activator.CreateInstance(type);

            return(asset);
        }
Esempio n. 4
0
        public IAssetSerializer TryCreate(string assetFileExtension)
        {
            var assetType = AssetRegistry.GetAssetTypeFromFileExtension(assetFileExtension);

            if (assetType != null && typeof(SourceCodeAsset).IsAssignableFrom(assetType))
            {
                return(this);
            }
            return(null);
        }
Esempio n. 5
0
        public object Load(Stream stream, string assetFileExtension, ILogger log, out bool aliasOccurred)
        {
            aliasOccurred = false;

            var type  = AssetRegistry.GetAssetTypeFromFileExtension(assetFileExtension);
            var asset = (SourceCodeAsset)Activator.CreateInstance(type);

            var reader = new StreamReader(stream, Encoding.UTF8);

            asset.Text = reader.ReadToEnd();

            return(asset);
        }