Android Open Source - gameengine Actor






From Project

Back to project page gameengine.

License

The source code is released under:

Apache License

If you think the Android project gameengine 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.garrapeta.gameengine;
//from   w w w  . j a  va 2s  .c  o m
import android.graphics.Canvas;

/**
 * Actor del juego
 * 
 * @author GaRRaPeTa
 */
public abstract class Actor<T extends GameWorld> {

    // --------------------------------------------------- Variables

    /** Mundo del actor */
    private T mWorld;

    /**
     * Z-index del actor. Cuanto mayor, m?s en primer plano.
     */
    private int mZIndex = 0;

    /**
     * If the actor is initialised. EveryActor needs to be initialised before
     * being added to the world.
     */
    private boolean mIsInitted = false;

    // ----------------------------------------------- Constructores

    /**
     * Constructor
     */
    public Actor(T world) {
        this(world, 0);
    }

    /**
     * Constructor
     */
    public Actor(T world, int zIndex) {
        mWorld = world;
        mZIndex = zIndex;
    }

    // ------------------------------------------- Getters y Setters

    // ----------------------------------------------------- Methods

    /**
     * @return the world of the actor
     */
    public T getWorld() {
        return mWorld;
    }

    /**
     * Sets the actor as initialised, so it is ready to be added to the world.
     * This method has to be called before the actor is added to the world. This
     * should be called from any method used to initialise the actor in a custom
     * way.
     * 
     * @return this actor
     * @throws IllegalStateException
     *             if the actor was already initialised
     */
    public final Actor<T> setInitted() {
        assertNotInnited();
        mIsInitted = true;
        return this;
    }

    /**
     * Sets the actor as not initialised, so it is ready to be reused.
     * 
     * @return this actor
     * @throws IllegalStateException
     *             if the actor was not initialised
     */
    public final Actor<T> setNotInitted() {
        assertInnited();
        mIsInitted = false;
        return this;
    }

    /**
     * Asserts the actor is initted.
     * 
     * @throws IllegalStateException
     *             if the actor was not initialised
     */
    public final void assertInnited() {
        if (!mIsInitted) {
            throw new IllegalStateException(this + " is  not initialised yet");
        }
    }

    /**
     * Asserts the actor is not initted.
     * 
     * @throws IllegalStateException
     *             if the actor was initialised
     */
    public final void assertNotInnited() {
        if (mIsInitted) {
            throw new IllegalStateException(this + " was already initialised");
        }
    }

    /**
     * Pinta el actor
     * 
     * @param canvas
     */
    protected abstract void draw(Canvas canvas);

    /**
     * Realiza la l?gica del frame
     * 
     * @param gameTimeStep
     *            tiempo del frame anterior, en ms
     */
    protected abstract void processFrame(float gameTimeStep);

    /** mtodo ejecutado cuando el actor entra en el mundo */
    protected void onAddedToWorld() {
    }

    void doOnRemovedFromWorld() {
        onRemovedFromWorld();
        // Do not call dispose here, as the pool may recycle it.
        // dispose();
    }

    /**
     * mtodo dispose, ejecutado cuando el actor se quita del mundo
     */
    protected void onRemovedFromWorld() {
    }

    /**
     * Devuelve zIndex
     */
    protected final int getZIndex() {
        return mZIndex;
    }

    void doOnAddedToWorld() {
        onAddedToWorld();
    }

    /**
     * Frees resources and nullifies references
     */
    protected void dispose() {
        mWorld = null;
    }

}




Java Source Code List

com.badlogic.gdx.math.MathUtils.java
com.badlogic.gdx.math.Matrix3.java
com.badlogic.gdx.math.Matrix4.java
com.badlogic.gdx.math.Quaternion.java
com.badlogic.gdx.math.Vector2.java
com.badlogic.gdx.math.Vector3.java
com.badlogic.gdx.physics.box2d.BodyDef.java
com.badlogic.gdx.physics.box2d.Body.java
com.badlogic.gdx.physics.box2d.ChainShape.java
com.badlogic.gdx.physics.box2d.CircleShape.java
com.badlogic.gdx.physics.box2d.ContactFilter.java
com.badlogic.gdx.physics.box2d.ContactImpulse.java
com.badlogic.gdx.physics.box2d.ContactListener.java
com.badlogic.gdx.physics.box2d.Contact.java
com.badlogic.gdx.physics.box2d.DestructionListener.java
com.badlogic.gdx.physics.box2d.EdgeShape.java
com.badlogic.gdx.physics.box2d.Filter.java
com.badlogic.gdx.physics.box2d.FixtureDef.java
com.badlogic.gdx.physics.box2d.Fixture.java
com.badlogic.gdx.physics.box2d.JointDef.java
com.badlogic.gdx.physics.box2d.JointEdge.java
com.badlogic.gdx.physics.box2d.Joint.java
com.badlogic.gdx.physics.box2d.Manifold.java
com.badlogic.gdx.physics.box2d.MassData.java
com.badlogic.gdx.physics.box2d.PolygonShape.java
com.badlogic.gdx.physics.box2d.QueryCallback.java
com.badlogic.gdx.physics.box2d.RayCastCallback.java
com.badlogic.gdx.physics.box2d.Shape.java
com.badlogic.gdx.physics.box2d.Transform.java
com.badlogic.gdx.physics.box2d.WorldManifold.java
com.badlogic.gdx.physics.box2d.World.java
com.badlogic.gdx.physics.box2d.joints.DistanceJointDef.java
com.badlogic.gdx.physics.box2d.joints.DistanceJoint.java
com.badlogic.gdx.physics.box2d.joints.FrictionJointDef.java
com.badlogic.gdx.physics.box2d.joints.FrictionJoint.java
com.badlogic.gdx.physics.box2d.joints.GearJointDef.java
com.badlogic.gdx.physics.box2d.joints.GearJoint.java
com.badlogic.gdx.physics.box2d.joints.MouseJointDef.java
com.badlogic.gdx.physics.box2d.joints.MouseJoint.java
com.badlogic.gdx.physics.box2d.joints.PrismaticJointDef.java
com.badlogic.gdx.physics.box2d.joints.PrismaticJoint.java
com.badlogic.gdx.physics.box2d.joints.PulleyJointDef.java
com.badlogic.gdx.physics.box2d.joints.PulleyJoint.java
com.badlogic.gdx.physics.box2d.joints.RevoluteJointDef.java
com.badlogic.gdx.physics.box2d.joints.RevoluteJoint.java
com.badlogic.gdx.physics.box2d.joints.RopeJointDef.java
com.badlogic.gdx.physics.box2d.joints.RopeJoint.java
com.badlogic.gdx.physics.box2d.joints.WeldJointDef.java
com.badlogic.gdx.physics.box2d.joints.WeldJoint.java
com.badlogic.gdx.physics.box2d.joints.WheelJointDef.java
com.badlogic.gdx.physics.box2d.joints.WheelJoint.java
com.badlogic.gdx.utils.Array.java
com.badlogic.gdx.utils.ComparableTimSort.java
com.badlogic.gdx.utils.Disposable.java
com.badlogic.gdx.utils.GdxRuntimeException.java
com.badlogic.gdx.utils.LongArray.java
com.badlogic.gdx.utils.LongMap.java
com.badlogic.gdx.utils.NumberUtils.java
com.badlogic.gdx.utils.Pool.java
com.badlogic.gdx.utils.Sort.java
com.badlogic.gdx.utils.StringBuilder.java
com.badlogic.gdx.utils.TimSort.java
com.garrapeta.MathUtils.java
com.garrapeta.gameengine.Actor.java
com.garrapeta.gameengine.AsyncGameMessage.java
com.garrapeta.gameengine.BitmapManager.java
com.garrapeta.gameengine.Box2DActor.java
com.garrapeta.gameengine.Box2DWorld.java
com.garrapeta.gameengine.GameMessage.java
com.garrapeta.gameengine.GameView.java
com.garrapeta.gameengine.GameWorld.java
com.garrapeta.gameengine.ShapeDrawer.java
com.garrapeta.gameengine.SyncGameMessage.java
com.garrapeta.gameengine.Viewport.java
com.garrapeta.gameengine.actor.Box2DAtomicActor.java
com.garrapeta.gameengine.actor.Box2DCircleActor.java
com.garrapeta.gameengine.actor.Box2DEdgeActor.java
com.garrapeta.gameengine.actor.Box2DLoopActor.java
com.garrapeta.gameengine.actor.Box2DOpenChainActor.java
com.garrapeta.gameengine.actor.Box2DPolygonActor.java
com.garrapeta.gameengine.actor.IAtomicActor.java
com.garrapeta.gameengine.actor.SimpleActor.java
com.garrapeta.gameengine.module.LevelActionsModule.java
com.garrapeta.gameengine.module.LoadedLevelActionsModule.java
com.garrapeta.gameengine.module.SoundModule.java
com.garrapeta.gameengine.module.VibrationModule.java
com.garrapeta.gameengine.utils.IOUtils.java
com.garrapeta.gameengine.utils.LogX.java
com.garrapeta.gameengine.utils.PhysicsUtils.java
com.garrapeta.gameengine.utils.Pool.java