package info.u250.c2d.tests.misc; import info.u250.c2d.engine.Engine; import info.u250.c2d.engine.EngineDrive; import info.u250.c2d.engine.Scene; import info.u250.c2d.engine.load.Loading.LoadingComplete; import info.u250.c2d.engine.resources.AliasResourceManager; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.InputAdapter; import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.graphics.Texture; public class IngameLoadingTest extends Engine { @Override protected EngineDrive onSetupEngineDrive() { return new EngineX(); } @Override public void dispose () { super.dispose(); } private class EngineX implements EngineDrive{ @Override public void onResourcesRegister(AliasResourceManager<String> reg) { reg.texture("AAA", "data/c2d.png"); } @Override public void dispose() {} @Override public EngineOptions onSetupEngine() { return new EngineOptions(new String[]{"data/c2d.png"},800,480); } @Override public void onLoadedResourcesCompleted() { Engine.setMainScene(new Scene() { @Override public void render(float delta) { Engine.getSpriteBatch().begin(); Engine.getSpriteBatch().draw(Engine.resource("AAA",Texture.class),100,100); Engine.getSpriteBatch().end(); Engine.debugInfo("touch the screen to get a in game loading"); } @Override public InputProcessor getInputProcessor() { return new InputAdapter(){ @Override public boolean touchDown(int x, int y, int pointer, int button) { //bak it . final InputProcessor preInputProcess = Gdx.input.getInputProcessor(); Gdx.input.setInputProcessor(null); Engine.load(new String[]{"data/"},new LoadingComplete() { @Override public void onReady(AliasResourceManager<String> reg) { reg.unload("AAA"); reg.texture("AAA", "data/textures/default.png"); Gdx.input.setInputProcessor(preInputProcess); } }); return super.touchDown(x, y, pointer, button); } }; } @Override public void update(float delta) { } @Override public void hide() { } @Override public void show() { } }); } } }