25 #ifndef PEGASUS_INTERACTION_H 26 #define PEGASUS_INTERACTION_H 28 #include "pegasus/input.h" 29 #include "pegasus/util.h" 33 static const InteractionID kNoInteractionID = -1;
49 void startInteraction() {
50 if (!isInteracting()) {
53 _isInteracting =
true;
54 _savedHandler = InputHandler::setInputHandler(
this);
57 void stopInteraction() {
58 if (isInteracting()) {
60 _isInteracting =
false;
61 if (InputHandler::_inputHandler ==
this)
62 InputHandler::setInputHandler(_savedHandler);
65 void startOverInteraction() {
69 bool isInteracting()
const {
return _isInteracting; }
74 virtual long getNumHints() {
return 0; }
76 virtual bool canSolve() {
return false; }
78 virtual void setSoundFXLevel(
const uint16) {}
79 virtual void setAmbienceLevel(
const uint16) {}
81 virtual void doSolve() {}
90 virtual void openInteraction() {}
91 virtual void initInteraction() {}
92 virtual void closeInteraction() {}
93 virtual void resetInteraction() {}
Definition: neighborhood.h:111
Definition: interaction.h:37
Definition: ai_action.h:33