SDLPP: add collider IDs
This commit is contained in:
@@ -13,6 +13,8 @@ class SDLPPSCOPE CollisionPolygon {
|
||||
public:
|
||||
CollisionPolygon( double x, double y );
|
||||
CollisionPolygon( const Vec2D< double > &input );
|
||||
CollisionPolygon( double x, double y, uint64_t id );
|
||||
CollisionPolygon( const Vec2D< double > &input, uint64_t id );
|
||||
virtual ~CollisionPolygon() {}
|
||||
virtual bool colidesWith( const CollisionPolygon &other ) const = 0;
|
||||
virtual bool isCircle() const = 0;
|
||||
@@ -22,7 +24,8 @@ public:
|
||||
virtual int bottommost() const = 0;
|
||||
virtual int leftmost() const = 0;
|
||||
virtual int rightmost() const = 0;
|
||||
virtual void updateCollision( int x, int y, int w, int h );
|
||||
virtual void updateCollision( int x, int y, int w, int h,
|
||||
uint64_t objectId );
|
||||
virtual void render( Renderer &renderer, const SDL_Color &color,
|
||||
const SDL_Color &outline_color ) = 0;
|
||||
virtual void render( Renderer &renderer, const SDL_Color &color ) = 0;
|
||||
@@ -33,6 +36,8 @@ public:
|
||||
void setOutlineColor( const std::string &color );
|
||||
virtual std::shared_ptr< CollisionPolygon > copySelf() = 0;
|
||||
virtual std::vector< Line< int > > getLines() const = 0;
|
||||
uint64_t getId();
|
||||
void setId( uint64_t id );
|
||||
|
||||
protected:
|
||||
Vec2D< double > original;
|
||||
@@ -40,6 +45,7 @@ protected:
|
||||
bool infinite = false;
|
||||
SDL_Color sdl_color = { 0, 0, 0, 0 };
|
||||
SDL_Color sdl_outline = { 0, 0, 0, 0 };
|
||||
uint64_t _id = -1;
|
||||
};
|
||||
|
||||
SDLPPSCOPE bool infinityIntersection( const SDLPP::CollisionPolygon &infinite,
|
||||
|
||||
Reference in New Issue
Block a user