00001 00014 #ifndef _PLAY_BOX_PHYSICS_H_ 00015 #define _PLAY_BOX_PHYSICS_H_ 00016 00017 #include "graphical_node.h" 00018 #include "time_updateable.h" 00019 #include "bubble.h" 00020 00026 class PlayBoxPhysics: public TimeUpdateable, public GraphicalNode 00027 { 00028 private: 00029 00030 // Disable copy constructor and assignment operator 00031 PlayBoxPhysics(const PlayBoxPhysics &); 00032 PlayBoxPhysics & operator=(const PlayBoxPhysics &); 00033 00042 virtual void fixLeftWallCollision(Bubble* bubble, float borderPos) =0; 00043 00052 virtual void fixRightWallCollision(Bubble* bubble, float borderPos) =0; 00053 00062 virtual void fixTopWallCollision(Bubble* bubble, float borderPos) =0; 00063 00072 virtual void fixBottomWallCollision(Bubble* bubble, float borderPos) =0; 00073 00074 public: 00075 00079 PlayBoxPhysics(); 00080 00084 virtual ~PlayBoxPhysics(); 00085 00094 void moveBubble(Bubble* bubble, float distance); 00095 }; 00096 00097 #endif