Newer
Older
Cactus-CleanArchitecture / app / src / main / java / org / ntlab / radishforandroidstudio / cactusClient / models / object / ObjectModelManager.java
package org.ntlab.radishforandroidstudio.cactusClient.models.object;

import org.ntlab.radishforandroidstudio.framework.gameMain.RealTime3DFragment;
import org.ntlab.radishforandroidstudio.framework.model3D.Model3D;
import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory;
import org.ntlab.radishforandroidstudio.framework.model3D.ModelFileFormatException;

import java.io.IOException;
import java.util.HashMap;

class ObjectModelManager {

    private static ObjectModelManager theInstance = null;
    private HashMap<Integer, Model3D> model = new HashMap<>();
    private RealTime3DFragment fragment;

    private ObjectModelManager() {
        try {
            setObject(0, ModelFactory.loadModel(fragment.getResources(), getClass().getResource("cube-binary.stl").getPath()));
            setObject(1, ModelFactory.loadModel(fragment.getResources(), getClass().getResource("cube-binary.stl").getPath()));

        } catch (IOException | ModelFileFormatException e) {
            e.printStackTrace();
        }
    }

    public static ObjectModelManager getInstance() {
        if (theInstance == null) {
            theInstance = new ObjectModelManager();
        }
        return theInstance;
    }

    public void setObject(int key, Model3D loadModel) {
        model.put(key, loadModel);
    }

    public Model3D getObject(int objectID) {
        return model.get(objectID);
    }

    public int getObjectModelCount() {
        return model.size();
    }
}