Android Open Source - fun-gl Engine Activity






From Project

Back to project page fun-gl.

License

The source code is released under:

Apache License

If you think the Android project fun-gl listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jcxavier.android.opengl.engine;
// w ww .  j a v a 2  s .  co m
import android.app.Activity;
import android.os.Bundle;
import com.jcxavier.android.opengl.engine.texture.TextureManager;
import com.jcxavier.android.opengl.file.FileManager;
import com.jcxavier.android.opengl.game.GameStage;

/**
 * Created on 31/01/2014.
 *
 * @author Joo Xavier <jcxavier@jcxavier.com>
 */
public abstract class EngineActivity extends Activity {

    private EngineView mView;

    @Override
    protected final void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // file manager setup
        FileManager.getInstance().setAssetManager(getAssets());

        // game setup
        onGameSetup();

        // view configuration
        mView = new EngineView(this);
        onConfigureOptions(mView.mRenderer);
        mView.initializeConfigChooser();
        mView.loadRenderer();

        setContentView(mView);
    }

    @Override
    protected final void onPause() {
        super.onPause();
        mView.onPause();
    }

    @Override
    protected final void onResume() {
        super.onResume();
        mView.onResume();
    }

    @Override
    protected final void onDestroy() {
        // clean up
        mView.queueEvent(new Runnable() {
            @Override
            public void run() {
                // run the renderer clean on the GL thread
                mView.mRenderer.clean();
            }
        });

        onGameFinished();
        FileManager.getInstance().setAssetManager(null);

        super.onDestroy();
    }

    void onGlContextLoad() {
        // read the maximum texture size from OpenGL
        TextureManager.getInstance().readMaxTextureSize();

        onLoadAssets();
        GameStage game = onGameStart();

        if (game == null) {
            throw new IllegalStateException("onGameStart() must return a non-null game");
        }

        mView.mRenderer.setGame(game);
    }

    protected abstract GameStage onGameStart();

    protected abstract void onGameSetup();

    protected abstract void onLoadAssets();

    protected abstract void onConfigureOptions(final RendererOptions options);

    protected abstract void onGameFinished();
}




Java Source Code List

com.jcxavier.android.opengl.engine.BitmapConfigHelper.java
com.jcxavier.android.opengl.engine.EngineActivity.java
com.jcxavier.android.opengl.engine.EngineRenderer.java
com.jcxavier.android.opengl.engine.EngineView.java
com.jcxavier.android.opengl.engine.RendererOptions.java
com.jcxavier.android.opengl.engine.cache.GLState.java
com.jcxavier.android.opengl.engine.gdx.GdxEglConfigChooser.java
com.jcxavier.android.opengl.engine.shader.ColorShader.java
com.jcxavier.android.opengl.engine.shader.ShaderManager.java
com.jcxavier.android.opengl.engine.shader.Shader.java
com.jcxavier.android.opengl.engine.shader.TextureShader.java
com.jcxavier.android.opengl.engine.texture.TextureFilteringMode.java
com.jcxavier.android.opengl.engine.texture.TextureManager.java
com.jcxavier.android.opengl.engine.texture.TextureWrap.java
com.jcxavier.android.opengl.engine.texture.Texture.java
com.jcxavier.android.opengl.engine.type.RotationMode.java
com.jcxavier.android.opengl.file.FileManager.java
com.jcxavier.android.opengl.game.GameStage.java
com.jcxavier.android.opengl.game.SimpleGameStage.java
com.jcxavier.android.opengl.game.camera.Camera.java
com.jcxavier.android.opengl.game.camera.DefaultCamera.java
com.jcxavier.android.opengl.game.camera.OrthographicCamera.java
com.jcxavier.android.opengl.game.manager.GameManager.java
com.jcxavier.android.opengl.game.manager.ScreenManager.java
com.jcxavier.android.opengl.game.manager.input.InputHandler.java
com.jcxavier.android.opengl.game.manager.input.InputManager.java
com.jcxavier.android.opengl.game.object.DrawableObject.java
com.jcxavier.android.opengl.game.object.GameObject.java
com.jcxavier.android.opengl.game.object.Sprite.java
com.jcxavier.android.opengl.game.type.Resizeable.java
com.jcxavier.android.opengl.game.type.Touchable.java
com.jcxavier.android.opengl.game.type.Transformable.java
com.jcxavier.android.opengl.game.type.Updateable.java
com.jcxavier.android.opengl.math.IVector.java
com.jcxavier.android.opengl.math.Matrix4.java
com.jcxavier.android.opengl.math.Vector2.java
com.jcxavier.android.opengl.math.Vector3.java
com.jcxavier.android.opengl.math.Vector4.java
com.jcxavier.android.opengl.sample.GameActivity.java
com.jcxavier.android.opengl.sample.TestStage.java
com.jcxavier.android.opengl.util.BitmapUtils.java
com.jcxavier.android.opengl.util.Constants.java
com.jcxavier.android.opengl.util.ReflectionUtils.java
com.jcxavier.android.opengl.util.WeakList.java
com.sample.clean.TestActivity.java
com.sample.clean.TestStage.java