00001 #ifndef FIRST_STRATEGY_H
00002 #define FIRST_STRATEGY_H
00003
00018 #include <math.h>
00019
00020 #include "Observer.h"
00021 #include "PlansysObservation.h"
00022 #include "mainplansys.h"
00023 #include "waypoint.h"
00024 #include "posix_message_config.h"
00025 #include "init.h"
00026
00027 class FirstStrategy: public Observer {
00028 public:
00033 FirstStrategy( PlansysObservation * , int theTeamColor );
00034 ~FirstStrategy();
00035 void Update( Subject *, int typeOfObservation);
00036 int GetPriority();
00037 int AgentGlobalPriority();
00038 int GetAction( controll_struct *ai_controll_struct );
00039 int SetAgentActive( int active );
00040 int StrategyInterrupted();
00041 int GetInterruptAction(interrupt_controll_struct *interrupt_controll);
00042
00043 private:
00044 int agentPriority;
00045 int inAction;
00046 int activeStrategy;
00047
00048 int lastWaypointReached;
00049 int batteryBinMessageRecieved;
00050
00051 PlansysObservation *_subject;
00052
00053 ai_waypoint ai_waypoint_3d;
00054 ai_waypoint last_ai_waypoint;
00055 cv_observation my_cv_observation;
00056 cv_observation battery_bin_cv_observation;
00057 proxy_message my_proxy_message;
00058 time_message local_time_message;
00059 controll_struct local_controll_struct;
00060 };
00061
00062 #endif
00063