00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00014 00015 #pragma warning (disable:4996) 00016 #pragma warning (disable:4005) 00017 #pragma warning(disable:4275) 00018 00019 00020 #ifndef _AICHARACTER_H 00021 #define _AICHARACTER_H 00022 00023 #include "aiBehaviors.h" 00024 #include "aiWorld.h" 00025 00032 00034 00035 class AIBehaviors; 00036 00037 class AICharacter { 00038 public: 00039 double _mass; 00040 double _max_force; 00041 LVecBase3f _velocity; 00042 LVecBase3f _steering_force; 00043 string _name; 00044 double _movt_force; 00045 unsigned int _ai_char_flock_id; 00046 AIBehaviors *_steering; 00047 NodePath _window_render; 00048 NodePath _ai_char_np; 00049 00050 void update(); 00051 void set_velocity(LVecBase3f vel); 00052 void set_char_render(NodePath render); 00053 NodePath get_char_render(); 00054 00055 PUBLISHED: 00056 double get_mass(); 00057 void set_mass(double m); 00058 00059 LVecBase3f get_velocity(); 00060 00061 double get_max_force(); 00062 void set_max_force(double max_force); 00063 00064 NodePath get_node_path(); 00065 void set_node_path(NodePath np); 00066 00067 AIBehaviors * get_ai_behaviors(); 00068 00069 AICharacter(string model_name, NodePath model_np, double mass, double movt_force, double max_force); 00070 ~AICharacter(); 00071 }; 00072 00073 #endif