22 #ifndef HARVESTER_INTERACTION_H 23 #define HARVESTER_INTERACTION_H 25 #include "common/error.h" 26 #include "harvester/bitmap.h" 27 #include "harvester/room_support.h" 28 #include "harvester/saveload.h" 33 class HarvesterEngine;
34 class InventorySystem;
40 extern const char *
const kExitCloseupPendingRoomChange;
46 virtual bool refreshCurrentScene(
bool preservePlayerPlacement) = 0;
47 virtual bool applyCurrentRoomRuntimeMutationsInPlace(
bool preservePaletteState) = 0;
49 virtual bool captureDialogueBackdrop(
IndexedBitmap &dialogueBackdrop) = 0;
52 virtual Common::Error applyLightingCommand(StartupLightingCommand lightingCommand) = 0;
53 virtual void applyPlayerGotoXZ(
int x,
int z) = 0;
55 virtual void resetIdleState() = 0;
56 virtual void notePlayerActivity() = 0;
57 virtual void stopPlayerRegionInteraction() = 0;
58 virtual void startPlayerDefeatSequence(
const char *reason,
const Common::String &sourceName,
67 const Common::String &getCarriedRoomItemLabel()
const {
return _carriedRoomItemLabel; }
68 const IndexedBitmap &getCarriedRoomItemBitmap()
const {
return _carriedRoomItemBitmap; }
69 bool hasCarriedRoomItem()
const;
70 bool hasSelectedItem()
const;
72 void clearSelectedItem();
73 void hideCarriedRoomItem();
74 bool stowCarriedRoomItemToInventory();
76 Interaction &interactionProcessor,
bool &needsRedraw);
83 void clearCarriedRoomItem();
85 bool shouldCancelDeniedPickup(
const InteractionResult &interaction,
bool didTransition)
const;
107 Common::String &pendingRoomChange,
bool &pendingRoomChangeIsRoomName,
108 bool &pendingRoomChangeUsesSavedRoomState,
SaveRoomState &pendingRoomChangeSavedRoomState,
116 int getPendingRegionFacing()
const;
118 bool hasPendingMainMenuReturn()
const;
121 bool &didTransition,
const Common::String &usedItemName,
bool interruptPlayerMovement =
true);
132 bool &_pendingRoomChangeIsRoomName;
133 bool &_pendingRoomChangeUsesSavedRoomState;
135 bool _canExitCloseupToParent;
143 #endif // HARVESTER_INTERACTION_H
Definition: saveload.h:29
Definition: room_support.h:46
Definition: interaction.h:42
Definition: inventory.h:54
Definition: scene_entities.h:31
Definition: interaction.h:103
Definition: interaction.h:62
Definition: harvester.h:47