00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00014 00015 #ifndef _ARRIVAL_H 00016 #define _ARRIVAL_H 00017 00018 #include "globals.h" 00019 #include "aiCharacter.h" 00020 00021 class AICharacter; 00022 00023 class Arrival { 00024 00025 public: 00026 AICharacter *_ai_char; 00027 00028 NodePath _arrival_target; 00029 LVecBase3f _arrival_target_pos; 00030 double _arrival_distance; 00031 LVecBase3f _arrival_direction; 00032 bool _arrival_done; 00033 00034 // This flag specifies if the arrival behavior is being used with seek or pursue behavior. 00035 // True = used with pursue. 00036 // False = used with seek. 00037 bool _arrival_type; 00038 00039 Arrival(AICharacter *ai_ch, double distance = 10.0); 00040 ~Arrival(); 00041 LVecBase3f do_arrival(); 00042 void arrival_activate(); 00043 }; 00044 00045 #endif