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 bool &isGameLoaded() {
return _isGameLoaded; }
44 inline MainCharacterKind activeCharacterKind()
const {
45 return _activeCharacter ==
nullptr ? MainCharacterKind::None : _activeCharacter->kind();
51 void drawCursor(
bool forceDefaultCursor =
false);
53 void changeRoom(
const Common::String &targetRoomName,
bool resetCamera);
54 void changeRoomToBeforeInventory();
55 void triggerObject(
ObjectBase *
object,
const char *action);
56 void triggerDoor(
const Door *door);
57 void addLastDialogCharacter(
Character *character);
58 void stopLastDialogCharacters();
59 void setActiveCharacter(MainCharacterKind kind);
60 bool isAllowedToOpenMenu();
64 static constexpr
const int kMaxLastDialogCharacters = 4;
68 Room *_currentRoom =
nullptr,
69 *_roomBeforeInventory =
nullptr;
72 void *_pressedObject =
nullptr;
73 Item *_heldItem =
nullptr;
74 int32 _cursorFrameI = 0;
77 _didLoadGlobalRooms =
false;
78 Character *_lastDialogCharacters[kMaxLastDialogCharacters] = {
nullptr };
79 int _nextLastDialogCharacter = 0;
84 #endif // ALCACHOFA_PLAYER_H Definition: objects.h:354
Definition: alcachofa.h:45
Definition: objects.h:123
Definition: serializer.h:79
Definition: objects.h:419
Definition: objects.h:528
Definition: objects.h:399
This fake semaphore does not work in multi-threaded scenarios It is used as a safer option for a simp...
Definition: common.h:84