ScummVM API documentation
room_item.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_ROOM_ITEM_H
23#define TITANIC_ROOM_ITEM_H
24
25#include "titanic/support/rect.h"
26#include "titanic/core/list.h"
27#include "titanic/support/movie_clip.h"
28#include "titanic/core/named_item.h"
29#include "titanic/core/resource_key.h"
30
31namespace Titanic {
32
33class CRoomItem : public CNamedItem {
34 DECLARE_MESSAGE_MAP;
35private:
39 void postLoad();
40public:
41 Rect _roomRect;
42 CMovieClipList _clipList;
43 int _roomNumber;
44 CResourceKey _transitionMovieKey;
45 CResourceKey _exitMovieKey;
46 double _roomDimensionX, _roomDimensionY;
47public:
48 CLASSDEF;
49 CRoomItem();
50
54 void save(SimpleFile *file, int indent) override;
55
59 void load(SimpleFile *file) override;
60
64 CMovieClip *findClip(const CString &name) { return _clipList.findByName(name); }
65
69 void calcNodePosition(const Point &nodePos, double &xVal, double &yVal) const;
70
74 int getScriptId() const;
75
76 CResourceKey getTransitionMovieKey();
77
78 CResourceKey getExitMovieKey();
79};
80
81} // End of namespace Titanic
82
83#endif /* TITANIC_ROOM_ITEM_H */
Definition: movie_clip.h:41
Definition: movie_clip.h:69
CMovieClip * findByName(const Common::String &name) const
Definition: named_item.h:33
Definition: resource_key.h:30
Definition: room_item.h:33
int getScriptId() const
void load(SimpleFile *file) override
CMovieClip * findClip(const CString &name)
Definition: room_item.h:64
void save(SimpleFile *file, int indent) override
void calcNodePosition(const Point &nodePos, double &xVal, double &yVal) const
Definition: string.h:40
Definition: rect.h:35
Definition: simple_file.h:49
Definition: rect.h:144