ScummVM API documentation
ringworld2_airduct.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 TSAGE_RINGWORLD2_AIRDUCT_H
23 #define TSAGE_RINGWORLD2_AIRDUCT_H
24 
25 #include "tsage/events.h"
26 #include "tsage/core.h"
27 #include "tsage/scenes.h"
28 #include "tsage/globals.h"
29 #include "tsage/sound.h"
30 #include "tsage/ringworld2/ringworld2_logic.h"
31 
32 namespace TsAGE {
33 
34 namespace Ringworld2 {
35 
36 using namespace TsAGE;
37 
38 class Scene1200 : public SceneExt {
39  enum CrawlDirection { CRAWL_EAST = 1, CRAWL_WEST = 2, CRAWL_SOUTH = 3, CRAWL_NORTH = 4 };
40 
41  class LaserPanel: public ModalWindow {
42  public:
43  class Jumper : public SceneActorExt {
44  public:
45  void init(int state);
46  bool startAction(CursorType action, Event &event) override;
47  };
48 
49  Jumper _jumper1;
50  Jumper _jumper2;
51  Jumper _jumper3;
52 
53  LaserPanel();
54 
55  void postInit(SceneObjectList *OwnerList = NULL) override;
56  void remove() override;
57  };
58 
59 public:
60  NamedHotspot _item1;
61  SceneActor _actor1;
62  LaserPanel _laserPanel;
63  MazeUI _mazeUI;
64  SequenceManager _sequenceManager;
65 
66  int _nextCrawlDirection;
67  int _field414;
68  int _field416;
69  int _field418;
70  int _field41A;
71  bool _fixupMaze;
72 
73  Scene1200();
74  void synchronize(Serializer &s) override;
75 
76  void startCrawling(CrawlDirection dir);
77 
78  void postInit(SceneObjectList *OwnerList = NULL) override;
79  void signal() override;
80  void process(Event &event) override;
81  void dispatch() override;
82  void saveCharacter(int characterIndex) override;
83 };
84 
85 } // End of namespace Ringworld2
86 } // End of namespace TsAGE
87 
88 #endif
Definition: ringworld2_logic.h:243
Definition: ringworld2_logic.h:78
Definition: ringworld2_logic.h:263
Definition: core.h:736
Definition: ringworld2_logic.h:452
Definition: ringworld2_airduct.h:38
Definition: ringworld2_airduct.h:43
Definition: ringworld2_logic.h:272
Definition: events.h:47
Definition: blueforce_dialogs.h:30
Definition: saveload.h:63
Definition: ringworld2_logic.h:289
Definition: converse.h:38