00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef HEARPERCEPTOR_H
00022 #define HEARPERCEPTOR_H
00023
00024 #include <oxygen/agentaspect/perceptor.h>
00025
00026 class AgentState;
00027 class GameStateAspect;
00028
00029 namespace oxygen
00030 {
00031 class Predicate;
00032 }
00033
00034 class HearPerceptor : public oxygen::Perceptor
00035 {
00036 public:
00037 HearPerceptor();
00038 virtual ~HearPerceptor();
00039
00041 virtual bool Percept(boost::shared_ptr<oxygen::PredicateList> predList);
00042
00043 protected:
00045 virtual void OnLink();
00046
00048 virtual void OnUnlink();
00049
00050 protected:
00052 boost::shared_ptr<AgentState> mAgentState;
00053
00055 boost::shared_ptr<GameStateAspect> mGameState;
00056 };
00057
00058 DECLARE_CLASS(HearPerceptor);
00059
00060 #endif // HEARPERCEPTOR_H