コード例 #1
0
void CStalkerCombatPlanner::setup				(CAI_Stalker *object, CPropertyStorage *storage)
{
	inherited::setup			(object,storage);
#ifdef LOG_ACTION
	inherited_planner::m_use_log = true;
	inherited_action::m_use_log = true;
#endif
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyInCover,					false);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyLookedOut,				false);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyPositionHolded,			false);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyEnemyDetoured,			false);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyUseSuddenness,			true);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyUseCrouchToLookOut,		true);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyKilledWounded,			false);
	CScriptActionPlanner::m_storage.set_property(eWorldPropertyStartedToThrowGrenade,	false);

	this->object().brain().CStalkerPlanner::m_storage.set_property(eWorldPropertyCriticallyWounded,	false);
	
	clear					();
	add_evaluators			();
	add_actions				();

	CAI_Stalker::on_best_cover_changed_delegate		temp;
	temp.bind										(this,&CStalkerCombatPlanner::on_best_cover_changed);
	this->object().subscribe_on_best_cover_changed	(temp);

	object->movement().property_storage			(storage);
}
コード例 #2
0
CStalkerCombatPlanner::~CStalkerCombatPlanner	()
{
	CAI_Stalker::on_best_cover_changed_delegate	temp;
	temp.bind									(this,&CStalkerCombatPlanner::on_best_cover_changed);
	object().unsubscribe_on_best_cover_changed	(temp);
}