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