Engine
Class PotentialClimbWatcher

source: C:\XIII\Engine\Classes\PotentialClimbWatcher.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--Engine.PotentialClimbWatcher
Direct Known Subclasses:None

class PotentialClimbWatcher
extends Engine.Info



Function Summary
 
simulated
Tick(float DeltaTime)



Source Code


00001	class PotentialClimbWatcher extends Info
00002		native;
00003	
00004	simulated function Tick(float DeltaTime)
00005	{
00006	    local rotator PawnRot;
00007	    local LadderVolume L;
00008	    local bool bFound;
00009	
00010	    if ( (Owner == None) || Owner.bDeleteMe || (Owner.Physics == PHYS_Ladder)
00011	    || (Pawn(Owner).Controller == None) || Level.Game.bGameEnded )
00012	    {
00013	      destroy();
00014	      return;
00015	    }
00016	
00017	    PawnRot = Owner.Rotation;
00018	    PawnRot.Pitch = 0;
00019	    ForEach Owner.TouchingActors(class'LadderVolume', L)
00020	      if ( L.Encompasses(Owner) )
00021	      {
00022	        if ( (vector(PawnRot) Dot L.LookDir) > 0.9 )
00023	        {
00024	//          Log("LADDER PotentialClimbWatcher, OnlyOneHandFree="$Pawn(Owner).bHaveOnlyOneHandFree);
00025	          if ( Pawn(Owner).bHaveOnlyOneHandFree )
00026	            Pawn(Owner).YouCantClimb();
00027	          else
00028	          {
00029	            Pawn(Owner).ClimbLadder(L);
00030	            destroy();
00031	            return;
00032	          }
00033	        }
00034	        else
00035	          bFound = true;
00036	      }
00037	
00038	    if ( !bFound )
00039	    destroy();
00040	}
00041	
00042	defaultproperties
00043	{
00044	}

End Source Code