28#ifndef OBJECTSGHOSTPME_H
29#define OBJECTSGHOSTPME_H
35class GhostStateInit :
public State
38 explicit GhostStateInit(
const string&);
46class GhostStateEvading :
public State
49 explicit GhostStateEvading(
const string&);
56class GhostStateChasing :
public State
59 explicit GhostStateChasing(
const string&);
64 Sint32 iTX, iTY, iITX, iITY;
69class GhostStateScattering :
public State
72 explicit GhostStateScattering(
const string&);
79class GhostStateDeath :
public State
82 explicit GhostStateDeath(
const string&);
89class Ghost :
public Actor
92 friend class GhostStateInit;
93 friend class GhostStateEvading;
94 friend class GhostStateChasing;
95 friend class GhostStateScattering;
96 friend class GhostStateDeath;
99 Ghost(Sint32 iObjID, Sint32 iMX, Sint32 iMY, GameField* GF);
102 Sint32 debug(Sint32);
106 Sint32 msgPelletPowerEaten(Sint32, Sint32);
107 Sint32 msgGhostCollision();
110 Sint32 getScatteringTarget(Sint32&, Sint32&);
114 Sint32 applyMovementRules(Sint32, Sint32);
117 Sint32 iGoingOutTrigger;
118 MazePoint pointEvadingTarget;
119 MazePoint pointScatteringTarget;
122 GhostStateInit* pStateInit;
123 GhostStateEvading* pStateEvading;
124 GhostStateChasing* pStateChasing;
125 GhostStateScattering* pStateScattering;
126 GhostStateDeath* pStateDeath;