-
Notifications
You must be signed in to change notification settings - Fork 2
/
properties.pas
75 lines (66 loc) · 2.02 KB
/
properties.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{$MODE OBJFPC} { -*- delphi -*- }
{$INCLUDE settings.inc}
unit properties;
interface
const // keywords used as property names in "debug make" commands
pnBackDescription = 'backDescription';
pnBackSide = 'backSide';
pnCannotMoveExcuse = 'cannotMoveExcuse';
pnCannotPlaceExcuse = 'cannotPlaceExcuse';
pnChild = 'child';
pnDefiniteName = 'definiteName';
pnDescription = 'description';
pnDestination = 'destination';
pnDirection = 'direction';
pnDoor = 'door';
pnFindDescription = 'findDescription';
pnFrontDescription = 'frontDescription';
pnFrontDirection = 'frontDirection';
pnFrontSide = 'frontSide';
pnGround = 'ground';
pnHole = 'hole';
pnIndefiniteName = 'indefiniteName';
pnIngredients = 'ingredients';
pnLandmark = 'landmark';
pnMass = 'mass';
pnMaxSize = 'maxSize';
pnName = 'name';
pnOpened = 'opened';
pnOpenable = 'openable';
pnPassageWay = 'passageWay';
pnPattern = 'pattern';
pnPileClass = 'pileClass';
pnPosition = 'position';
pnSize = 'size';
pnSource = 'source';
pnStairs = 'stairs';
pnSurface = 'surface';
pnUnderDescription = 'underDescription';
pnWriting = 'writing';
const // keywords used as property types in "debug describe TFoo" commands
// simple
ptBoolean = 'boolean';
ptString = 'string';
ptPileClass = 'class:TPile';
ptDoor = 'atom:TDoor';
ptDoorSide = 'atom:TDoorSide';
ptLocation = 'atom:TLocation';
ptThing = 'atom:TThing';
ptHole = 'atom:THole';
// special syntax
ptIngredients = 'ingredients';
ptPattern = 'pattern';
// special syntax and allowed multiple times
ptChild = 'child*';
ptLandmark = 'landmark*';
// enums (also update "debug describe enum" in parser.inc)
ptDirection = 'enum:TCardinalDirection';
ptMass = 'enum:TThingMass';
ptSize = 'enum:TThingSize';
ptThingPosition = 'enum:TThingPosition';
type
TPropertyDescriber = class abstract
procedure AddProperty(Name: UTF8String; PropertyType: UTF8String); virtual; abstract;
end;
implementation
end.