Ejemplo n.º 1
0
        public CTextureAsset ImportTexture(string filename)
        {
            CTextureAsset outAsset = new CTextureAsset();

            ImportTextureInternal(filename, outAsset, "Assets/Textures/");
            return(outAsset);
        }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
        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);
        }