14 #ifndef __diguyCrowd_H
15 #define __diguyCrowd_H
21 #define CPLUSPLUS_ONLY
30 class bdiScenarioCrowd;
38 class DtAggregateStateRepository;
72 const char* get_name();
83 int set_name(
const char* name);
90 const char* get_ui_name();
108 int set_ui_name(
const char* ui_name);
120 const char* get_type_name();
140 int set_enabled(
int enabled);
164 void set_all_members_enabled(
int enabled);
175 float get_awareness_radius();
187 int set_awareness_radius(
float radius);
244 int remove_all_members();
258 int get_num_members();
320 int agents_attack_character(
const char* character_name);
342 int agents_attack_group(
const char* group_name);
368 int agents_flee_character(
const char* character_name,
370 int danger_level = 50);
389 int agents_flee_group(
const char* group_name,
391 int danger_level = 50);
410 int agents_flee_crowd(
const char* crowd_name,
412 int danger_level = 50);
429 int agents_flee_location(
float x,
float y,
float z,
431 int danger_level = 50);
446 void agents_remove_all_flee_objects();
472 int agents_mingle_in_region(
const char* region_name = NULL,
473 const char* subregion = NULL);
502 int agents_pursue_character(
const char* character_name);
524 int agents_pursue_group(
const char* group_name);
544 int agents_chain_pursue(
const char* leader_name);
570 int agents_travel_behavior_path(
const char* direction = NULL,
571 const char* at_end = NULL,
572 int waypoint_index = -1,
573 float offset_y = 0.5f);
593 int agents_travel_path_shape(
const char* path_shape_name,
594 const char* direction = NULL,
595 const char* at_end = NULL,
596 int waypoint_index = -1,
597 float offset_y = 0.5f);
617 int agents_travel_region_border(
const char* region_name,
618 const char* subregion = NULL);
643 int agents_wander_region(
const char* region_name = NULL,
644 const char* subregion = NULL);
669 int agents_stop_behavior();
689 int set_current_behavior(
const char* behavior_name);
701 const char* get_current_behavior(
int member_index = 0);
716 int set_current_behavior_path_shape(
const char* behavior_path_shape_name,
717 float max_time_until_move_on = 0.0f);
739 int set_current_behavior_region(
const char* behavior_region_name,
740 const char* subregion = NULL,
741 float max_time_until_move_on = 0.0f);
758 int set_current_focus_character(
const char* focus_character_name);
775 int set_current_focus_group(
const char* focus_group_name);
805 int set_current_params_from_profile(
const char* profile_name,
806 int retain_focus_objects = 1,
807 int retain_navigation_values = 1);
826 void set_current_behavior_region_border_is_solid(
int is_solid);
859 int set_initial_params_from_profile(
const char* profile_name);
882 int is_current_behavior(
const char* behavior_name,
883 float threshold = 0.5f);
891 int is_current_behavior_and_focus_character(
const char* behavior_name,
892 const char* focus_character_name,
893 float threshold = 0.5f);
901 int is_current_behavior_and_focus_group(
const char* behavior_name,
902 const char* group_name,
903 float threshold = 0.5f);
911 int is_crowd_dead(
float threshold = 0.5f);
938 int add_companion_crowd(
diguyCrowd* companion_crowd);
953 int remove_companion_crowd(
diguyCrowd* companion_crowd);
1131 CALLBACK_ID_CREATE = 1,
1132 CALLBACK_ID_DESTROY,
1133 CALLBACK_ID_CROWD_MEMBER_KILLED,
1134 CALLBACK_ID_CROWD_MEMBER_IMPACT,
1135 CALLBACK_ID_NEARBY_SCENE_OBJECT_IMPACT,
1136 CALLBACK_ID_NEARBY_WEAPON_FIRED,
1138 CALLBACK_ID_SETPUBLISHED
1141 #ifdef CPLUSPLUS_ONLY
1168 int add_callback(
int callback_id,
1170 void* callback_params = 0,
1171 void* callback_user_data = 0);
1189 int remove_callback(
int callback_id,
1208 int remove_callback_with_user_data(
int callback_id,
1209 void* callback_user_data);
1243 int add_callback_script(
int callback_id,
1244 const char* callback_script,
1245 const char* callback_script_type = NULL);
1278 int remove_callback_script(
int callback_id,
1279 const char* callback_script,
1280 const char* callback_script_type = NULL);
1282 #ifdef CPLUSPLUS_ONLY
1297 void all_members_add_character_callback(
int callback_id,
1299 void* callback_params = NULL,
1300 void* callback_user_data = NULL);
1315 void all_members_remove_character_callback(
int callback_id,
1331 void all_members_remove_character_callback_with_user_data(
int callback_id,
1332 void* callback_user_data);
1345 void all_members_add_character_callback_script(
int callback_id,
1346 const char* callback_script,
1347 const char* callback_script_type = NULL);
1358 void all_members_remove_character_callback_script(
int callback_id,
1359 const char* callback_script,
1360 const char* callback_script_type = NULL);
1402 int map_event_handler_to_callback_id(
int callback_id,
1403 const char* handler_name);
1422 int unmap_event_handler_from_callback_id(
int callback_id,
1423 const char* handler_name,
1424 int unmap_all_matches = 0);
1475 void send_message_to_all_members(
const char* message_type,
1476 const char* message,
1477 const char* message_params = NULL);
1518 int set_network_marking(
const char* network_marking);
1540 const char* get_network_marking();
1564 int set_is_network_published(
int is_network_published);
1586 int get_is_network_published();
1595 DtAggregateStateRepository * get_vrlink_entity_state_repository();
1616 int get_is_network_reflected();
1641 int get_is_network_paused();
1649 int set_is_network_paused(
int paused);
1670 int get_network_entity_number();
1690 #ifdef CPLUSPLUS_ONLY
1692 bdiScenarioCrowd* get_scripted_object() {
return m_scripted_object;}
1699 diguyCrowd(bdiScenarioCrowd* scripted_object);
1709 bdiScenarioCrowd* m_scripted_object;
1711 friend class bdiScenarioCrowd;
Definition: diguyVehicleNearCollision.h:33
A two-and-a-half-dimensional surface that represents either a navigation mesh or an area that's been ...
Definition: diguyRegion.h:50
diguyCallbackReturn diguyCharacterCallback(diguyCharacter *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:48
Definition: diguyPathShape.h:30
A class that represents a bullet impact in the world, often used by AIs to make reaction decisions...
Definition: diguyImpact.h:41
diguyStaticAvoidanceMethod
This enumeration lists the methods available for collision detection and avoidance against static obj...
Definition: diguy_constants.h:1002
A group of DI-Guy characters, useful for organizing your scenarios.
Definition: diguyCharacterGroup.h:38
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:81
diguyCallbackReturn diguyCrowdCallback(diguyCrowd *crowd, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:166
diguyTacticsUnitType
Definition: diguy_constants.h:1556
diguyMotionVariant
Definition: diguyMotionVariant.h:26
diguyDynamicAvoidanceMethod
This enumeration lists the methods available for collision detection and avoidance against dynamic ob...
Definition: diguy_constants.h:973
The class that represents a DI-Guy Crowd, DI-Guy AI agents can be given orders at an individual level...
Definition: diguyCrowd.h:47
diguyMotionPosture
Definition: diguyMotionPosture.h:26