00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef RCSC_ACTION_NECK_TURN_TO_PLAYER_OR_SCAN_H
00033 #define RCSC_ACTION_NECK_TURN_TO_PLAYER_OR_SCAN_H
00034
00035 #include <rcsc/player/soccer_action.h>
00036
00037 namespace rcsc {
00038
00039 class AbstractPlayerObject;
00040
00045 class Neck_TurnToPlayerOrScan
00046 : public NeckAction {
00047 private:
00048
00049 const AbstractPlayerObject * M_target_player;
00050 const int M_count_thr;
00051
00052 public:
00058 explicit
00059 Neck_TurnToPlayerOrScan( const AbstractPlayerObject * target_player,
00060 const int count_thr = 1 )
00061 : M_target_player( target_player )
00062 , M_count_thr( count_thr )
00063 { }
00064
00070 bool execute( PlayerAgent * agent );
00071
00076 NeckAction * clone() const
00077 {
00078 return new Neck_TurnToPlayerOrScan( M_target_player, M_count_thr );
00079 }
00080 };
00081
00082 }
00083
00084 #endif