ScummVM API documentation
puzzle.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 ZVISION_PUZZLE_H
23
#define ZVISION_PUZZLE_H
24
25
#include "zvision/scripting/actions.h"
26
27
#include "common/list.h"
28
#include "common/ptr.h"
29
30
namespace
ZVision
{
31
32
struct
Puzzle
{
33
Puzzle
() : key(0), addedBySetState(
false
) {}
34
35
~
Puzzle
() {
36
for
(
Common::List<ResultAction *>::iterator
iter = resultActions.begin(); iter != resultActions.end(); ++iter) {
37
delete
*iter;
38
}
39
}
40
42
enum
CriteriaOperator
{
43
EQUAL_TO,
44
NOT_EQUAL_TO,
45
GREATER_THAN,
46
LESS_THAN
47
};
48
50
struct
CriteriaEntry
{
52
uint32
key
;
57
uint32
argument
;
59
CriteriaOperator
criteriaOperator
;
61
bool
argumentIsAKey
;
62
};
63
64
enum
StateFlags {
65
ONCE_PER_INST = 0x01,
66
DISABLED = 0x02,
67
DO_ME_NOW = 0x04
68
};
69
70
uint32
key
;
71
Common::List<Common::List <CriteriaEntry>
> criteriaList;
72
// This has to be list of pointers because ResultAction is abstract
73
Common::List<ResultAction *>
resultActions;
74
bool
addedBySetState;
75
};
76
77
}
// End of namespace ZVision
78
79
#endif
ZVision::Puzzle::CriteriaEntry::argumentIsAKey
bool argumentIsAKey
Definition:
puzzle.h:61
ZVision::Puzzle
Definition:
puzzle.h:32
Common::List
Definition:
list.h:44
ZVision
Definition:
clock.h:29
ZVision::Puzzle::CriteriaEntry::criteriaOperator
CriteriaOperator criteriaOperator
Definition:
puzzle.h:59
ZVision::Puzzle::CriteriaEntry::key
uint32 key
Definition:
puzzle.h:52
ZVision::Puzzle::CriteriaEntry::argument
uint32 argument
Definition:
puzzle.h:57
ZVision::Puzzle::CriteriaOperator
CriteriaOperator
Definition:
puzzle.h:42
Common::ListInternal::Iterator
Definition:
list_intern.h:51
ZVision::Puzzle::CriteriaEntry
Definition:
puzzle.h:50
engines
zvision
scripting
puzzle.h
Generated on Sat Aug 31 2024 09:08:50 for ScummVM API documentation by
1.8.13