DI-Guy Lua AI SDK
 All Classes Files Functions Variables Groups Pages
luaSmartProp Class Reference

a base class for creating movable props with auto tagging features More...

Inheritance diagram for luaSmartProp:
luaCharacter luaFoodStand luaLounge luaMosque

Public Member Functions

Standard infrustructure
 init_package ()
 this function is called at time 0 More...
 
 reset_package ()
 this function is called at reset More...
 
 init_package ()
 
 should_create_people ()
 
 get_ui_signals ()
 
 serialize_instance ()
 Called by C++ on save writes out the list of people that the prop owns. More...
 
 deselected ()
 Called by C++ on deselection. More...
 
 selected ()
 Called by C++ on selection. More...
 
 init ()
 
 reset ()
 
 first_update ()
 
 show_ui_label (message)
 
 hide_ui_label ()
 
 destroy ()
 Erases the tagged regions. More...
 
Messages and states
 idle_state ()
 
 on_creation ()
 
 entry_point ()
 
 process_callback (message_object)
 
 process_messages (message_object)
 
 process_broadcast (message_object)
 
 process_signal (message_object)
 
 position_building_state ()
 
 reposition_state (args)
 
 bump_building (delta)
 
 setup_subregions (erase)
 
Draw Functions
 draw_highlighted ()
 
 draw_building_subregion_boundaries (repositioning)
 
 draw_building_outline_highlighted ()
 
 draw_building_outline_translational ()
 
 draw_building_outline_rotational ()
 
People Management
 add_person_to_building (new_diguy_name)
 
 person_died_callback (building_name)
 
 revive_dead_person (data)
 
 find_or_create_character (params)
 
 get_character_actions (character_name)
 
 normalize_dist (appearances)
 
 distributed_choice_clear (appearances)
 
 distributed_choice (appearances, force_uniqueness)
 
to be removed
 roof_takeover_state (luaChar, optional_delay)
 
- 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)
 

Public Attributes

string display_name = "Generic Building"
 
string movement_signals = "Move, >, translate, rotate, bump down, bump up, - , destroy, < "
 
luaSmartProp regions tostring = function(obj) return table.len(obj) -2 .. " Regions" end
 Default region info. More...
 
luaSmartProp regions string shop1 = {x= 1, y=0, z=0, type="circle", radius=1.5, subregion_index = DIGUY_SUBREGION_GREEN}
 
 people_to_string = function(obj)
 
local num = 0
 
 num = num +1
 
Template for subclasses
string package_init_code = diguy_package_registry.package_init_code ..
 Modify the package constructor string so that subclasses of this class have a modified template. More...
 
- 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)
 

Detailed Description

a base class for creating movable props with auto tagging features

Member Function Documentation

luaSmartProp::add_person_to_building ( new_diguy_name  )
luaSmartProp::bump_building ( delta  )
luaSmartProp::deselected ( )

Called by C++ on deselection.

luaSmartProp::destroy ( )

Erases the tagged regions.

luaSmartProp::distributed_choice ( appearances  ,
force_uniqueness   
)
luaSmartProp::distributed_choice_clear ( appearances  )
luaSmartProp::draw_building_outline_highlighted ( )
luaSmartProp::draw_building_outline_rotational ( )
luaSmartProp::draw_building_outline_translational ( )
luaSmartProp::draw_building_subregion_boundaries ( repositioning  )
luaSmartProp::draw_highlighted ( )
luaSmartProp::entry_point ( )
luaSmartProp::find_or_create_character ( params  )

Use this function to create characters dependent to a building. It's smart about finding the character if it has already been created. Adds the character to the buildings self.people table.

luaSmartProp::first_update ( )
luaSmartProp::get_character_actions ( character_name  )
luaSmartProp::get_ui_signals ( )
luaSmartProp::hide_ui_label ( )
luaSmartProp::idle_state ( )
luaSmartProp::init ( )
luaSmartProp::init_package ( )

this function is called at time 0

luaSmartProp::init_package ( )
luaSmartProp::normalize_dist ( appearances  )
luaSmartProp::on_creation ( )
luaSmartProp::person_died_callback ( building_name  )
luaSmartProp::position_building_state ( )
luaSmartProp::process_broadcast ( message_object  )
luaSmartProp::process_callback ( message_object  )
luaSmartProp::process_messages ( message_object  )
luaSmartProp::process_signal ( message_object  )
luaSmartProp::reposition_state ( args  )
luaSmartProp::reset ( )
luaSmartProp::reset_package ( )

this function is called at reset

luaSmartProp::revive_dead_person ( data  )
luaSmartProp::roof_takeover_state ( luaChar  ,
optional_delay   
)
luaSmartProp::selected ( )

Called by C++ on selection.

luaSmartProp::serialize_instance ( )

Called by C++ on save writes out the list of people that the prop owns.

luaSmartProp::setup_subregions ( erase  )
luaSmartProp::should_create_people ( )
luaSmartProp::show_ui_label ( message  )

Member Data Documentation

string luaSmartProp::display_name = "Generic Building"
string luaSmartProp::movement_signals = "Move, >, translate, rotate, bump down, bump up, - , destroy, < "
local luaSmartProp::num = 0
luaSmartProp::num = num +1
string luaSmartProp::package_init_code = diguy_package_registry.package_init_code ..

Modify the package constructor string so that subclasses of this class have a modified template.

luaSmartProp::people_to_string = function(obj)
luaSmartProp regions string luaSmartProp::shop1 = {x= 1, y=0, z=0, type="circle", radius=1.5, subregion_index = DIGUY_SUBREGION_GREEN}
luaSmartProp regions luaSmartProp::tostring = function(obj) return table.len(obj) -2 .. " Regions" end

Default region info.


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