All pastes #605072 Raw Edit

MarkR

public cpp v1 · immutable
·published 2007-07-05 22:46 UTC
rendered paste body
static void checkCollision(GameObject *a, GameObject *b){        // at least one of them should always be a ball.        if (a->collisionClass == GameObject::BallCollisions) {                b->checkBallCollision(static_cast <Ball *>(a));        }         if (b->collisionClass == GameObject::BallCollisions) {                a->checkBallCollision(static_cast <Ball *>(b));        }}void GameManager::handleCollisions(){        for (GameObjectList::iterator i = objects.begin(); i != objects.end(); i++) {                GameObject *a = *i;                if (a->collisionClass != GameObject::NoCollisions) {                        for (GameObjectList::iterator j = i+1; j != objects.end(); j++) {                                GameObject *b = *j;                                if (b->collisionClass != GameObject::NoCollisions) {                                        // don't process collisions between scenery and other                                        // scenery.                                        if (! ((a->collisionClass == GameObject::ObstacleCollisions) &&                                                (b->collisionClass == GameObject::ObstacleCollisions))) {                                                checkCollision(a,b);                                            }                                }                         }                }        }}