public CTextureAsset ImportTexture(string filename) { CTextureAsset outAsset = new CTextureAsset(); ImportTextureInternal(filename, outAsset, "Assets/Textures/"); return(outAsset); }
private void ImportTextureInternal(string filename, CTextureAsset outAsset, string assetPath, bool bAlwaysImport = false) { outAsset.ImageSurface = Surface.LoadFromFile(filename, true); outAsset.ImageSurface.ConvertTo(ImageConversion.To32Bits); outAsset.Name = Path.GetFileNameWithoutExtension(filename); if (CAssetRegistry.Instance.RequestRegisterAsset(outAsset, assetPath, out CTextureAsset existingAsset, bAlwaysImport)) { outAsset.CopyFrom(existingAsset); } outAsset.LoadFinished(); }
public CTextureAsset ImportTextureAsync(string filename, string importPath, bool bAlwaysImport = false) { CTextureAsset outAsset = new CTextureAsset(); string assetPath = importPath + Path.GetFileNameWithoutExtension(filename) + outAsset.GetFileExtension(); if (CAssetRegistry.Instance.TryGetAssetByFilename(assetPath, out CTextureAsset existingTexture)) { return(existingTexture); } Task.Run(() => ImportTextureInternal(filename, outAsset, importPath)); return(outAsset); }