Beispiel #1
0
    public AssetCreator(AssetDataLoader assetDataLoader, ILogger logger)
    {
        _loadedAssets = new Dictionary <string, Asset>();

        _assetDataLoader = assetDataLoader;
        _logger          = logger;
    }
Beispiel #2
0
        public void LoadAssets(AssetDataLoader assetDataLoader)
        {
            var shaderFilenameWithoutExtension = ShaderFilename.Split('.').FirstOrDefault();
            var compiledShadersExist           = new string[] {
                $"{shaderFilenameWithoutExtension}.vs.spirv",
                $"{shaderFilenameWithoutExtension}.fs.spirv"
            }.Aggregate(true, (shadersExist, filename) =>
                        shadersExist && assetDataLoader.Exists(AssetType.Shader, filename)
                        );

            if (!_isWindows && compiledShadersExist)
            {
                // TODO: Wait for https://github.com/mellinoe/veldrid-spirv/pull/2 and remove this? Or keep em for mobile?
                _vertexShaderSource = ShaderImporter.Instance.Import(assetDataLoader.Load(
                                                                         AssetType.Shader,
                                                                         $"{shaderFilenameWithoutExtension}.vs.spirv"
                                                                         ));
                _fragmentShaderSource = ShaderImporter.Instance.Import(assetDataLoader.Load(
                                                                           AssetType.Shader,
                                                                           $"{shaderFilenameWithoutExtension}.fs.spirv"
                                                                           ));
            }
            else if (assetDataLoader.Exists(AssetType.Shader, ShaderFilename))
            {
                var shaderSource = ShaderImporter.Instance.Import(
                    assetDataLoader.Load(AssetType.Shader, ShaderFilename)
                    );
                _vertexShaderSource = _fragmentShaderSource = shaderSource;
            }
            else
            {
                throw new FileNotFoundException($"Shader not found: {ShaderFilename}");
            }
        }
Beispiel #3
0
        protected Game()
        {
            World                     = new World();
            LimitFrameRate            = true;
            DesiredFrameLengthSeconds = 1.0 / 60.0;

            _assetDataLoader = new AssetDataLoader();
        }
Beispiel #4
0
        protected Game()
        {
            World                     = new World();
            LimitFrameRate            = true;
            DesiredFrameLengthSeconds = 1.0 / 60.0;

            _assetDataLoader = new AssetDataLoader(Assembly.GetCallingAssembly(), AssetDirectoryPaths);
        }
    /// <summary>
    /// Creates an instance of Asset Manager.
    /// </summary>
    /// <param name="savedAssetsFolderPath">Full path to the folder, in which state will be saved and loaded from.</param>
    /// <param name="logger">Logger.</param>
    public AssetManager(string savedAssetsFolderPath, ILogger logger)
    {
        _savedAssetsFolder = savedAssetsFolderPath;
        _logger            = logger;

        _thumbnailManager = new ThumbnailManager(logger);
        _assetDataLoader  = new AssetDataLoader(_thumbnailManager, logger);

        _assetCreator     = new AssetCreator(_assetDataLoader, logger);
        _assetGroupSaver  = new AssetGroupSaver(_savedAssetsFolder, logger);
        _assetGroupLoader = new AssetGroupLoader(_assetDataLoader, logger);
    }
Beispiel #6
0
 public ComponentAssetLoader(World world, AssetDataLoader assetDataLoader) : base(world)
 {
     _assetDataLoader = assetDataLoader;
 }
 public AssetGroupLoader(AssetDataLoader assetDataLoader, ILogger logger)
 {
     _assetDataLoader = assetDataLoader;
     _logger          = logger;
 }