22 #ifndef ALCACHOFA_PLAYER_H 23 #define ALCACHOFA_PLAYER_H 25 #include "alcachofa/rooms.h" 33 inline Room *currentRoom()
const {
return _currentRoom; }
34 inline MainCharacter *activeCharacter()
const {
return _activeCharacter; }
35 inline ShapeObject *&selectedObject() {
return _selectedObject; }
36 inline void *&pressedObject() {
return _pressedObject; }
37 inline Item *&heldItem() {
return _heldItem; }
42 inline MainCharacterKind activeCharacterKind()
const {
43 return _activeCharacter ==
nullptr ? MainCharacterKind::None : _activeCharacter->kind();
49 void drawCursor(
bool forceDefaultCursor =
false);
51 void changeRoom(
const Common::String &targetRoomName,
bool resetCamera,
bool isTemporary =
false);
52 void changeRoomToBeforeInventory();
53 void triggerObject(
ObjectBase *
object,
const char *action);
54 void triggerDoor(
const Door *door);
55 void addLastDialogCharacter(
Character *character);
56 void stopLastDialogCharacters();
57 void setActiveCharacter(MainCharacterKind kind);
58 bool isAllowedToOpenMenu();
62 static constexpr
const int kMaxLastDialogCharacters = 4;
66 Room *_currentRoom =
nullptr,
67 *_roomBeforeInventory =
nullptr;
70 void *_pressedObject =
nullptr;
71 Item *_heldItem =
nullptr;
72 int32 _cursorFrameI = 0;
73 bool _didLoadGlobalRooms =
false,
74 _isInTemporaryRoom =
false;
75 Character *_lastDialogCharacters[kMaxLastDialogCharacters] = {
nullptr };
76 int _nextLastDialogCharacter = 0;
81 #endif // ALCACHOFA_PLAYER_H Definition: objects.h:396
Definition: alcachofa.h:45
Definition: objects.h:124
Definition: serializer.h:79
Definition: objects.h:463
Definition: objects.h:572
Definition: objects.h:443
This fake semaphore does not work in multi-threaded scenarios It is used as a safer option for a simp...
Definition: common.h:93