Subversion Repositories AndroidProjects

Rev

Rev 993 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.burutaru.game.entities;

import com.gebauz.bauzoid.math.Matrix4;
import com.gebauz.bauzoid.math.collision.AABoundingBox;
import com.gebauz.bauzoid.math.collision.Shape;

public interface ICollidable
{

        // Constants========================================================================================

        // Embedded Types===================================================================================

        // Fields===========================================================================================

        // Methods==========================================================================================
       
        /** Return true if the shape and the collidable intersect. */
        public abstract boolean checkHit(Shape shape, Matrix4 shapeTransform);
       
        /** Check if the collidable and the ship intersect and apply collision response. */
        public abstract boolean checkShipHit(Ship ship);
       
        public abstract void hit(int damage);
       
        // Getters/Setters==================================================================================
       
        /** Get an axis-aligned bounding box for broad-phase collision detection. */
        public abstract AABoundingBox getBounds();
       
        public abstract float getX();
        public abstract float getY();
}