Subversion Repositories AndroidProjects

Rev

Rev 1737 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1734 chris 1
package com.gebauz.bauzoid2.graphics.model;
1712 chris 2
 
3
import com.badlogic.gdx.assets.AssetDescriptor;
4
import com.badlogic.gdx.assets.AssetLoaderParameters;
5
import com.badlogic.gdx.assets.AssetManager;
6
import com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader;
7
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
8
import com.badlogic.gdx.files.FileHandle;
1738 chris 9
import com.badlogic.gdx.graphics.Texture;
1712 chris 10
import com.badlogic.gdx.utils.Array;
1738 chris 11
import com.gebauz.bauzoid2.game.Engine;
1712 chris 12
 
13
/** Asynchronous Loader for Texture Atlas/Texture Region definitions. */
1734 chris 14
public class GdxModelAsyncLoader extends AsynchronousAssetLoader<Model, GdxModelAsyncLoader.Parameter>
1712 chris 15
{
16
 
17
        // Constants========================================================================================
18
 
19
        // Embedded Types===================================================================================
1734 chris 20
        static public class Parameter extends AssetLoaderParameters<Model>
1712 chris 21
        {
1738 chris 22
        //private SpriteSheetDefinition mSpriteInfo = null;
1712 chris 23
        }
24
 
25
        // Fields===========================================================================================
1738 chris 26
 
1737 chris 27
    private GdxModelUtil.GdxModelDescriptor mModelDescriptor = null;
1712 chris 28
 
29
        // Methods==========================================================================================
30
 
1734 chris 31
        public GdxModelAsyncLoader(FileHandleResolver resolver)
1712 chris 32
        {
33
                super(resolver);
34
        }
35
 
36
        @Override
1734 chris 37
        public void loadAsync(AssetManager manager, String fileName, FileHandle file, Parameter parameter)
1712 chris 38
        {
1734 chris 39
                //mSpriteInfo = SpriteUtil.readSpriteRegionInfo(Gdx.files.internal(fileName));
1738 chris 40
 
41
 
42
 
1712 chris 43
        }
44
 
45
        @Override
1734 chris 46
        public Model loadSync(AssetManager manager, String fileName, FileHandle file, Parameter parameter)
1712 chris 47
        {
1738 chris 48
        Engine.log("loadSync");
49
                Model model = GdxModelUtil.buildModel(mModelDescriptor);
50
        return model;
1712 chris 51
        }
52
 
53
        @SuppressWarnings("rawtypes")
54
        @Override
1734 chris 55
        public Array<AssetDescriptor> getDependencies(String fileName, FileHandle file, Parameter parameter)
1712 chris 56
        {
1738 chris 57
        Engine.log("getDeps");
58
 
59
        mModelDescriptor = GdxModelUtil.readModel(fileName);
60
 
61
        Array<AssetDescriptor> deps = new Array();
62
        for (int i = 0; i < mModelDescriptor.materials.size(); i++)
63
        {
64
            GdxModelUtil.MaterialData matData = mModelDescriptor.materials.get(i);
65
            for (int j = 0; j < matData.textures.size(); j++)
66
            {
67
                GdxModelUtil.TextureData texData = matData.textures.get(j);
68
                Engine.log(".." + texData.filename);
69
                FileHandle resolved = resolve(texData.filename);
70
                deps.add(new AssetDescriptor(resolved, Texture.class));
71
                texData.isAsync = true;
72
            }
73
        }
1712 chris 74
 
1738 chris 75
                return deps;
1712 chris 76
        }
77
 
78
        // Getters/Setters==================================================================================
79
 
80
}