#ifndef _RULES_H #define _RULES_H #include #include "vector.h" #include "point.h" #include "rules.h" // Temple for rules engine plugins class KueRulesEngine : public TQObject { TQ_OBJECT public: KueRulesEngine(TQObject *parent = 0, const char *name = 0) : TQObject(parent, name) {} virtual ~KueRulesEngine() {} virtual void start() = 0; signals: // Emitting gameOver notifies the user of the result, stops the physics // engine, and schedules us for deletion void gameOver(const TQString &result); void showMessage(const TQString &text); protected slots: // Called by physics engine when a billiard is sunk virtual void billiardSunk(unsigned int ball, unsigned int pocket); // Called by physics engine when a billiard is struck (by the cue ball or another billiard) virtual void billiardHit(unsigned int ball1, unsigned int ball2); // Called by the physics engine when all billiards have stopped moving virtual void motionStopped(); }; #endif