//============================================================================= // Path_AvoidClosedDoors //============================================================================= // //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC //============================================================================= class Path_AvoidClosedDoors extends PathConstraint native(Waypoint); var bool bOnlyAvoidWeldedDoors; cpptext { virtual UBOOL EvaluatePath( UReachSpec* Spec, APawn* Pawn, INT& out_PathCost, INT& out_HeuristicCost ); UBOOL ShouldAvoidDoor( const AKFDoorActor* Door ); } /** Maximum luminance (per navigation point) before adding extra costs */ //var() float MaxLuminance; static function bool AvoidClosedDoors( Pawn P, optional bool InOnlyAvoidWeldedDoors ) { local Path_AvoidClosedDoors Con; if( P != None ) { Con = Path_AvoidClosedDoors( P.CreatePathConstraint(default.class) ); if( Con != None ) { Con.bOnlyAvoidWeldedDoors = InOnlyAvoidWeldedDoors; P.AddPathConstraint( Con ); return true; } } return false; } function Recycle() { Super.Recycle(); //MaxLuminance=default.MaxLuminance; } defaultproperties { CacheIdx=14 //MaxLuminance=0.5f }