ScummVM API documentation
tt_room_script.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 TITANIC_TT_ROOM_SCRIPT_H
23#define TITANIC_TT_ROOM_SCRIPT_H
24
25#include "titanic/true_talk/tt_script_base.h"
26
27namespace Titanic {
28
29class TTnpcScript;
30class TTsentence;
31
33public:
34 uint _scriptId;
35public:
36 TTroomScriptBase(int scriptId, const char *charClass, const char *charName,
37 int v3, int v4, int v5, int v6, int v2, int v7);
38
42 virtual bool canRespond(TTnpcScript *npcScript, TTsentence *sentence, int val) const = 0;
43
47 virtual bool canProcess(TTnpcScript *npcScript, TTsentence *sentence) const = 0;
48
49 virtual bool proc8() const = 0;
50 virtual void proc9(int v) = 0;
51
55 virtual ScriptChangedResult scriptChanged(TTscriptBase *npcScript, int id) = 0;
56
57 virtual bool proc11() const = 0;
58};
59
60
62public:
63 int _field54;
64public:
65 TTroomScript(int scriptId);
66
70 bool canRespond(TTnpcScript *npcScript, TTsentence *sentence, int val) const override {
71 return true;
72 }
73
77 bool canProcess(TTnpcScript *npcScript, TTsentence *sentence) const override {
78 return true;
79 }
80
81 bool proc8() const override;
82
83 void proc9(int v) override;
84
88 ScriptChangedResult scriptChanged(TTscriptBase *npcScript, int id) override;
89
90 bool proc11() const override;
91
95 ScriptChangedResult notifyScript(TTscriptBase *npcScript, int id) {
96 return scriptChanged(npcScript, id);
97 }
98};
99
100} // End of namespace Titanic
101
102#endif /* TITANIC_TT_ROOM_SCRIPT_H */
Definition: tt_npc_script.h:88
Definition: tt_room_script.h:32
virtual ScriptChangedResult scriptChanged(TTscriptBase *npcScript, int id)=0
virtual bool canProcess(TTnpcScript *npcScript, TTsentence *sentence) const =0
virtual bool canRespond(TTnpcScript *npcScript, TTsentence *sentence, int val) const =0
Definition: tt_room_script.h:61
ScriptChangedResult scriptChanged(TTscriptBase *npcScript, int id) override
bool canRespond(TTnpcScript *npcScript, TTsentence *sentence, int val) const override
Definition: tt_room_script.h:70
bool canProcess(TTnpcScript *npcScript, TTsentence *sentence) const override
Definition: tt_room_script.h:77
ScriptChangedResult notifyScript(TTscriptBase *npcScript, int id)
Definition: tt_room_script.h:95
Definition: tt_script_base.h:38
Definition: tt_sentence.h:49