DI-Guy Lua AI SDK
 All Classes Files Functions Variables Groups Pages
luaVehicle Class Reference
Inheritance diagram for luaVehicle:
luaCharacter luaMiddleEastHumvee

Public Member Functions

Framework Functions

Base class for the Lua mind for four-wheeled vehicles (cars, trucks, Humvees, etc.)

Currently contains a lot of experimental code for having vehicles vary speeds in a realistic manner, while avoiding collisions with other vehicles ahead of them on the same path. This code didn't really work correctly, due to significant problems in motion engine in early 2012. Many of these problems were corrected in late 2013, so this code is worth revisiting at some point.

The vehicle is assumed to have been assigned a path.

 one_time_init ()
 called by c++ the first time characters are created More...
 
 init ()
 
 reset ()
 
 serialize_instance ()
 
 heartbeat ()
 Standard heartbeat function. More...
 
UI Functions
 get_ui_signals ()
 
Convenience Functions
 change_speed (speed_mps, debug_print)
 
 handle_near_collision (name, vehicle_crowd)
 
 handle_honk ()
 
 handle_path_change (path_shape_name)
 
Message-processing Functions
 process_messages (message_object)
 
State Functions
 follow_path_state (path_shape_name, distance_along_path)
 
 entry_point ()
 
- Public Member Functions inherited from luaCharacter
 get_ui_signals ()
 This function returns a comma separated list of signals that the agent is currently willing to accept. More...
 
 get_ui_state_label ()
 This function returns a string that the DI-Guy Scenario UI will add onto the end of the state name label. More...
 
 one_time_init ()
 This function is called when a mind is first created, currently no ops. More...
 
 init (arg0, arg1, arg2)
 This function is called at t=0 or when a mind is created, currently no ops. More...
 
 reset ()
 This function resets the luaCharacter representation, called by c++ on scenario reset. More...
 
 destroy ()
 This function is called by C++ when the character is destroyed. Overload it to trigger any world cleanup on destruction. More...
 
 die_now ()
 This function is called when the character is killed. Overload it to trigger any final events or agent clean up on death. More...
 
 draw ()
 This function is called by diguy scenario to draw a lua object Overload it to create your own Drawing behavior. More...
 
 entry_point ()
 This function is called by the state manager as the entry point into the lua state machine. Overload it to create your own HFSM. More...
 
 send_message_to_character (to, from, msg_type, message, params)
 Send a message from a character to a character, will automatically send message over network. More...
 
 state_manager (sender, message_type, message, params)
 This is the main entry point from C++ into the lua framework. More...
 
 sleep (duration)
 
 sleep_until (wake_time)
 
 sleep_ignore_messages (duration)
 This is a simple sleep function, it will put the character to sleep for the duration specified. Messages will not be processed. More...
 
 sleep_process_messages (duration, message_handler)
 This is a sleep function that can take a message_handler function. More...
 
 wait_for_message (message_to_wait_for, message_handler, bg_check_func, bg_freq)
 This is a sleep function that will wait a long time and only wake up when a specific message is recieved. More...
 
 wait_for_multichoice (...)
 This is a sleep function that will wait a long time and only wake up when one of a few specific messages are recieved. More...
 
 internal_get_user_selected (options)
 Internal support function used by other picking functions. More...
 
 get_user_selected_point (_options)
 Function returns a point in the world, picked via the UI. More...
 
 get_user_selected_character (_options)
 Function returns a character in the world, picked via the ui. More...
 
 simple_move_to_state (x, y, z, message_handler, bg_check_func, bg_check_freq, force_a_star)
 This function implements a simple move to state. More...
 
 simple_move_to_path_state (path, message_handler, bg_check_func, bg_check_freq, force_a_star)
 
 get_state_name (state_function, object)
 Convenience function for printing the name of a state, given a function_pointer. More...
 
 begin_state (_name)
 Convenience function for storing the current state in the luaCharacter. More...
 
 get_current_and_previous_states ()
 Convenience function for debugging. Returns comma-separated list of recent states. More...
 
 is_new_state (ret)
 Convenience function for checking if the argument is a new state table. More...
 
 invoke_state (new_state, cleanup_function, extra_info)
 Convenience function for doing a tail call function invokation. More...
 
 draw_path ()
 Function that draws the character's current path object. More...
 
 draw_line_from_self ()
 Function draws a line from self to the point under the mouse, plus it either a circle under the mouse point. More...
 
 get_user_selected_path (message, use_default_ui_draw_function)
 Function returns a string and a path clicked in the world, picked via the UI. More...
 
 scheduler_heartbeat ()
 Experimental - heartbeat function for the post event sceduler. More...
 
 add_scheduled_event (callback_data)
 Experimental - adds a function to happen in the future. More...
 
 update_scheduler ()
 
 process_messages_enroute (message_obj)
 

Additional Inherited Members

- Public Attributes inherited from luaCharacter
userdata character
 a pointer to the underlying character; More...
 
coroutine state_coroutine
 a microthread that holds the current state of the VM; More...
 
 MESSAGE_HANDLED = -1
 
 init_code =
 Constructor Template String. More...
 
local character = this_scenario->find_character("CHARACTER_NAME")
 
 DERIVED_CLASS = BASE_CLASS->new(character)
 

Member Function Documentation

luaVehicle::change_speed ( speed_mps  ,
debug_print   
)
luaVehicle::entry_point ( )
luaVehicle::follow_path_state ( path_shape_name  ,
distance_along_path   
)
luaVehicle::get_ui_signals ( )
luaVehicle::handle_honk ( )
luaVehicle::handle_near_collision ( name  ,
vehicle_crowd   
)
luaVehicle::handle_path_change ( path_shape_name  )
luaVehicle::heartbeat ( )

Standard heartbeat function.

luaVehicle::init ( )
luaVehicle::one_time_init ( )

called by c++ the first time characters are created

luaVehicle::process_messages ( message_object  )
luaVehicle::reset ( )
luaVehicle::serialize_instance ( )

The documentation for this class was generated from the following file: