5 * Created by Alyssa Milburn on Sat Dec 09 2006.
6 * Copyright (c) 2006 Alyssa Milburn. All rights reserved.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
25 class CreatureAgent
: public Agent
{
28 friend class Creature
;
30 unsigned int direction
;
31 bool walking
, approaching
;
32 AgentRef approachtarget
;
34 virtual void creatureBorn() { }
35 virtual void creatureAged() { }
36 virtual void creatureDied() { }
39 CreatureAgent(unsigned char _family
);
40 virtual ~CreatureAgent();
43 void setCreature(Creature
*c
);
44 Creature
*getCreature() { return creature
; }
46 void setDirection(unsigned int d
) { assert(d
< 4); direction
= d
; }
47 unsigned int getDirection() { return direction
; }
50 void approach(AgentRef it
);
51 bool isApproaching() { return approaching
; }