Engine
Class WarpZoneMarker

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

class WarpZoneMarker
extends Engine.NavigationPoint

//============================================================================= // WarpZoneMarker. //=============================================================================
Variables
 Actor TriggerActor
           used to tell AI how to trigger me
 Actor TriggerActor2
           used to tell AI how to trigger me
 WarpZoneInfo markedWarpZone


Function Summary
 void FindTriggerActor()
 void PostBeginPlay()
 Actor SpecialHandling(Pawn Other)
     
/* FIXME - how to figure out if other side actor is OK and use intelligently for all dests?
*/



Source Code


00001	//=============================================================================
00002	// WarpZoneMarker.
00003	//=============================================================================
00004	class WarpZoneMarker extends NavigationPoint
00005		native;
00006	
00007	var WarpZoneInfo markedWarpZone;
00008	
00009	// AI related
00010	var Actor TriggerActor;		//used to tell AI how to trigger me
00011	var Actor TriggerActor2;
00012	
00013	function PostBeginPlay()
00014	{
00015	/*
00016		if ( markedWarpZone.numDestinations > 1 )
00017			FindTriggerActor();
00018		Super.PostBeginPlay();
00019	*/
00020	}
00021	
00022	function FindTriggerActor()
00023	{
00024	/*
00025		local ZoneTrigger Z;
00026		ForEach AllActors(class 'ZoneTrigger', Z)
00027			if ( Z.Event == markedWarpZone.ZoneTag)
00028			{
00029				TriggerActor = Z;
00030				return;
00031			}
00032	*/
00033	}
00034	
00035	/* SpecialHandling is called by the navigation code when the next path has been found.
00036	It gives that path an opportunity to modify the result based on any special considerations
00037	*/
00038	
00039	/* FIXME - how to figure out if other side actor is OK and use intelligently for all dests?
00040	*/
00041	function Actor SpecialHandling(Pawn Other)
00042	{
00043	/*
00044		if (Other.Region.Zone == markedWarpZone)
00045			markedWarpZone.ActorEntered(Other);
00046	*/
00047		return self;
00048	}
00049	/*	if ( markedWarpZone.numDestinations <= 1 )
00050			return self;
00051	
00052		if ( markedWarpZone.OtherSideActor is OK )
00053			return self;
00054	
00055		if (TriggerActor == None)
00056		{
00057			FindTriggerActor();
00058			if (TriggerActor == None)
00059				return None;
00060		}
00061	
00062		return TriggerActor;
00063	}
00064	*/
00065	
00066	defaultproperties
00067	{
00068	     bCollideWhenPlacing=False
00069	     CollisionRadius=40.000000
00070	     CollisionHeight=80.000000
00071	     bHiddenEd=True
00072	}

End Source Code