Behaviors: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 15: Line 15:
To allow the Behavior to be used you'll need a function:
To allow the Behavior to be used you'll need a function:


bool CAI_WhateverBehaviour::CanSelectSchedule()
//bool CAI_WhateverBehaviour::CanSelectSchedule()
{
//{
    //add whatever conditions you want here
  // add whatever conditions you want here
return true;
//return true;
}
//}


That should do it.
That should do it.

Revision as of 15:54, 23 October 2006

Behaviors let you assign schedules and functionality to more than one NPC class without having to re-write or derive off a certain class. For example: You have three npc classes : npc_bob , npc_fred , npc_jane You make two behaviors : MensBathroomBehavior, WomensBathroomBehavior

You'd assign MensBathroomBehavior to the male npcs and WomensBathroomBehavior to npc_jane.

Steps To Add Behavior:

  • add a function to your npc class : bool npc_class::CreateBehaviors() : (comes in virtually from CAI_BehaviorHost)
  • create the behaviour as a member variable in your class
  • add the behavior AddBehavior( &m_WhateverBehavior ); in your CreateBehaviors() function
  • let your npc class know you want to use a behavior by calling BehaviorSelectSchedule() in your SelectSchedule()

To allow the Behavior to be used you'll need a function:

//bool CAI_WhateverBehaviour::CanSelectSchedule() //{

 //  add whatever conditions you want here

//return true; //}

That should do it.