SDLPP: add collider IDs
This commit is contained in:
@@ -7,6 +7,13 @@ CircleColider::CircleColider( double x, double y, double rad )
|
||||
|
||||
CircleColider::CircleColider( const Vec2D< double > ¢er, double rad )
|
||||
: CollisionPolygon( center ), original_rad( rad ) {}
|
||||
CircleColider::CircleColider( double x, double y, double rad, uint64_t id )
|
||||
: CircleColider( { x, y }, rad, id ) {}
|
||||
CircleColider::CircleColider( const Vec2D< double > ¢er, double rad,
|
||||
uint64_t id )
|
||||
: CircleColider( center, rad ) {
|
||||
_id = id;
|
||||
}
|
||||
|
||||
bool CircleColider::colidesWith( const SDLPP::CollisionPolygon &other ) const {
|
||||
if ( other.isCircle() ) {
|
||||
@@ -47,9 +54,11 @@ int CircleColider::rightmost() const {
|
||||
return getX() + rad_;
|
||||
}
|
||||
|
||||
void CircleColider::updateCollision( int x, int y, int w, int h ) {
|
||||
void CircleColider::updateCollision( int x, int y, int w, int h, uint64_t id ) {
|
||||
position = Vec2D< int >( original.getX() * w + x, original.getY() * h + y );
|
||||
rad_ = original_rad * w;
|
||||
if ( _id == static_cast< uint64_t >( -1 ) )
|
||||
_id = id;
|
||||
}
|
||||
|
||||
void CircleColider::render( Renderer &renderer, const SDL_Color &color,
|
||||
|
||||
Reference in New Issue
Block a user