00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00014 00015 #ifndef _FLEE_H 00016 #define _FLEE_H 00017 00018 #include "globals.h" 00019 #include "aiCharacter.h" 00020 00021 class AICharacter; 00022 00023 class Flee { 00024 00025 public: 00026 AICharacter *_ai_char; 00027 00028 LVecBase3f _flee_position; 00029 float _flee_weight; 00030 LVecBase3f _flee_direction; 00031 double _flee_distance; 00032 double _flee_relax_distance; 00033 LVecBase3f _flee_present_pos; 00034 bool _flee_done; 00035 bool _flee_activate_done; 00036 00037 Flee(AICharacter *ai_ch, NodePath target_object, double panic_distance = 10.0, 00038 double relax_distance = 10.0, float flee_wt = 1.0); 00039 00040 Flee(AICharacter *ai_ch, LVecBase3f pos, double panic_distance = 10.0, 00041 double relax_distance = 10.0, float flee_wt = 1.0); 00042 00043 ~Flee(); 00044 LVecBase3f do_flee(); 00045 void flee_activate(); 00046 }; 00047 00048 #endif