Tetris: use new API
This commit is contained in:
@@ -37,9 +37,9 @@ void updateShadow( SDLPP::Scene &scene ) {
|
||||
for ( auto &col : collisions ) {
|
||||
// if collision with g_cur_object, ignore
|
||||
if ( std::find( invalid_objects.begin(), invalid_objects.end(),
|
||||
col ) != invalid_objects.end() )
|
||||
col.second ) != invalid_objects.end() )
|
||||
continue;
|
||||
auto possible_drop = col->getPos().getY() - curY;
|
||||
auto possible_drop = col.second->getPos().getY() - curY;
|
||||
if ( possible_drop < shadow_drop && possible_drop >= 0 )
|
||||
shadow_drop = possible_drop;
|
||||
}
|
||||
@@ -141,7 +141,7 @@ int crashFlags( std::shared_ptr< TetrisPiece > piece,
|
||||
auto collisions = scene.getCollisions(
|
||||
*block, { BORDER_LEFT_ID, BORDER_RIGHT_ID, FLOOR_ID } );
|
||||
for ( auto &col : collisions ) {
|
||||
switch ( col->getId() ) {
|
||||
switch ( col.second->getId() ) {
|
||||
case BORDER_LEFT_ID:
|
||||
retFlags |= left;
|
||||
break;
|
||||
@@ -157,9 +157,9 @@ int crashFlags( std::shared_ptr< TetrisPiece > piece,
|
||||
collisions = scene.getCollisions( *block, { BRICK_ID } );
|
||||
if ( collisions.size() > 1 ) {
|
||||
for ( auto &col : collisions ) {
|
||||
if ( piece->isLeft( *col ) )
|
||||
if ( piece->isLeft( *col.second ) )
|
||||
retFlags |= left;
|
||||
else if ( piece->isRight( *col ) )
|
||||
else if ( piece->isRight( *col.second ) )
|
||||
retFlags |= right;
|
||||
else
|
||||
retFlags |= bottom;
|
||||
@@ -220,7 +220,7 @@ createTetrisBlock( double x, double y, const std::string &color,
|
||||
ret->setOutlineColor( outline );
|
||||
ret->addCollision( SDLPP::RectColider( 0.1, 0.1, 0.8, 0.8 ) );
|
||||
ret->setId( BRICK_ID );
|
||||
ret->centerX();
|
||||
ret->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
|
||||
scene->addObject( ret );
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user