ScummVM API documentation
mr_potts_dialogue.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef HARVESTER_NPC_MR_POTTS_DIALOGUE_H
23 #define HARVESTER_NPC_MR_POTTS_DIALOGUE_H
24 
25 #include "harvester/npc/dialogue_handler.h"
26 
27 namespace Harvester {
28 
30 public:
32  bool auxIntroPending = true;
33  int followupDayIndex = 0;
34  bool pottsdamDiggingLinePlayed = false;
35  int topicBufferLineIndex = -1;
36  bool stephanieAliveLaterDayShown = false;
37  bool karinKidnapedShown = false;
38  bool karinFoundDeadShown = false;
39  bool karinFoundAliveShown = false;
40  bool day6KarinShown = false;
41  bool scratchedTuckerShown = false;
42  bool barberPoleStolenShown = false;
43  bool boltOfClothTakenShown = false;
44  bool dinerBurnedShown = false;
45  bool gotRemainsForLodgeShown = false;
46  bool escapedJailShown = false;
47  bool butcherDeathShown = false;
48  bool moynahanDeathShown = false;
49  bool ednaHungShown = false;
50  bool day6KarinFoundAliveFollowupShown = false;
51  };
52 
53  bool matchesNpc(const Common::String &npcName) const override;
54  void resetState() override {
55  const int topicBufferLineIndex = _state.topicBufferLineIndex;
56  _state = MrPottsRoomDialogueState();
57  _state.topicBufferLineIndex = topicBufferLineIndex;
58  }
59  void syncState(Common::Serializer &s) override {
60  syncDialogueBool(s, _state.auxIntroPending);
61  syncDialogueInt(s, _state.followupDayIndex);
62  syncDialogueBool(s, _state.pottsdamDiggingLinePlayed);
63  syncDialogueInt(s, _state.topicBufferLineIndex);
64  syncDialogueBool(s, _state.stephanieAliveLaterDayShown);
65  syncDialogueBool(s, _state.karinKidnapedShown);
66  syncDialogueBool(s, _state.karinFoundDeadShown);
67  syncDialogueBool(s, _state.karinFoundAliveShown);
68  syncDialogueBool(s, _state.day6KarinShown);
69  syncDialogueBool(s, _state.scratchedTuckerShown);
70  syncDialogueBool(s, _state.barberPoleStolenShown);
71  syncDialogueBool(s, _state.boltOfClothTakenShown);
72  syncDialogueBool(s, _state.dinerBurnedShown);
73  syncDialogueBool(s, _state.gotRemainsForLodgeShown);
74  syncDialogueBool(s, _state.escapedJailShown);
75  syncDialogueBool(s, _state.butcherDeathShown);
76  syncDialogueBool(s, _state.moynahanDeathShown);
77  syncDialogueBool(s, _state.ednaHungShown);
78  syncDialogueBool(s, _state.day6KarinFoundAliveFollowupShown);
79  }
80  Common::Error handleDialogue(DialogueRuntime &runtime,
81  const Common::String &usedItemName, DialogueSharedState &sharedState) override;
82 
83 private:
85 };
86 
87 } // End of namespace Harvester
88 
89 #endif // HARVESTER_NPC_MR_POTTS_DIALOGUE_H
Definition: str.h:59
Definition: art.h:31
Definition: error.h:81
Definition: dialogue_handler.h:99
Definition: dialogue_handler.h:56
Definition: serializer.h:80
Definition: mr_potts_dialogue.h:29
Definition: dialogue_runtime.h:57