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