private ITexture findDiskTexture(string filePath)
        {
            if (!System.IO.File.Exists(filePath))
            {
                Console.WriteLine("Texture not found on disk: (" + filePath + ")");
                return(null);
            }

            var searchTex = textureFactory.FindTexture(delegate(ITexture tex)
            {
                var data = tex.GetCoreData();
                return(data.StorageType == TextureCoreData.TextureStorageType.Disk && data.DiskFilePath == filePath);
            });

            if (searchTex != null)
            {
                return(searchTex);
            }



            var ret = new RAMTexture();

            ret.GetCoreData().StorageType  = TextureCoreData.TextureStorageType.Disk;
            ret.GetCoreData().DiskFilePath = filePath;
            textureFactory.AddTexture(ret);
            return(ret);
        }
        private ITexture findAssemblyTexture(string filePath)
        {
            var fi = new FileInfo(filePath);

            for (int i = 0; i < resolvePaths.Count; i++)
            {
                var rp    = resolvePaths[i];
                var names = rp.Assembly.GetManifestResourceNames();
                for (int j = 0; j < names.Length; j++)
                {
                    var name = names[j];
                    if (!name.StartsWith(rp.Path))
                    {
                        continue;
                    }
                    if (name.Substring(rp.Path.Length + 1) != fi.Name)
                    {
                        continue;
                    }


                    var searchTex = textureFactory.FindTexture(delegate(ITexture tex)
                    {
                        var data = tex.GetCoreData();
                        return(data.StorageType ==
                               TextureCoreData.TextureStorageType.Assembly &&
                               data.Assembly == rp.Assembly &&
                               data.AssemblyResourceName == name);
                    });
                    if (searchTex != null)
                    {
                        return(searchTex);
                    }


                    var ret = new RAMTexture();
                    ret.GetCoreData().StorageType          = TextureCoreData.TextureStorageType.Assembly;
                    ret.GetCoreData().Assembly             = rp.Assembly;
                    ret.GetCoreData().AssemblyResourceName = name;
                    textureFactory.AddTexture(ret);
                    return(ret);
                }
            }

            return(null);
        }
Example #3
0
        private static RAMTexture createTexture(string filename)
        {
            var tex = new RAMTexture();

            var data = tex.GetCoreData();

            data.StorageType  = TextureCoreData.TextureStorageType.Disk;
            data.DiskFilePath = filename;
            return(tex);
        }
        public static RAMTexture loadTexture(string file)
        {
            var tex = new RAMTexture();

            var data = tex.GetCoreData();

            data.StorageType  = TextureCoreData.TextureStorageType.Disk;
            data.DiskFilePath = file;

            /*data.StorageType = TextureCoreData.TextureStorageType.Assembly;
             * data.Assembly = Assembly.GetExecutingAssembly();
             * data.AssemblyResourceName = "MHGameWork.TheWizards.Tests.OBJParser.Files.maps.BrickRound0030_7_S.jpg";*/
            return(tex);
        }
        public static RAMTexture GetTestTexture()
        {
            var tex = new RAMTexture();

            var data = tex.GetCoreData();

            data.StorageType  = TextureCoreData.TextureStorageType.Disk;
            data.DiskFilePath = TWDir.GameData.CreateSubdirectory("Core").FullName + "\\nova.png";

            /*data.StorageType = TextureCoreData.TextureStorageType.Assembly;
             * data.Assembly = Assembly.GetExecutingAssembly();
             * data.AssemblyResourceName = "MHGameWork.TheWizards.Tests.OBJParser.Files.maps.BrickRound0030_7_S.jpg";*/
            return(tex);
        }
Example #6
0
        public void TestExport()
        {
            var tex = new RAMTexture();

            tex.GetCoreData().DiskFilePath = "trolo.png";

            var mesh = UtilityMeshes.CreateBoxWithTexture(tex, new Vector3(10, 10, 10));


            var exporter = new OBJExporter();

            var objMesh = exporter.ConvertFromTWMesh(mesh);

            exporter.SaveToFile(objMesh, TWDir.GameData.CreateSubdirectory("Scattered\\Tests").FullName + "\\OBJExporterTrolo.obj");
        }
Example #7
0
        public void TestExportComplex()
        {
            var tex = new RAMTexture();

            tex.GetCoreData().DiskFilePath = "trolo.png";


            var meshFact = new EngineMeshFactory(new RAMTextureFactory());
            var mesh     = meshFact.loadMeshFromFile(TWDir.GameData.FullName + "\\Core\\MerchantsHouse.obj",
                                                     TWDir.GameData.FullName + "\\Core\\MerchantsHouse.mtl",
                                                     "MerchantsHouse.mtl");
            var exporter = new OBJExporter();

            var objMesh = exporter.ConvertFromTWMesh(mesh);


            exporter.SaveToFile(objMesh, TWDir.GameData.CreateSubdirectory("Scattered\\Tests").FullName + "\\OBJExporterHouse.obj");
        }