Variables |
int |
ExtraCost
added cost to visit this pathnode |
int |
Paths[16]
index of reachspecs (used by C++ Navigation code) |
int |
PrunedPaths[16]
index of reachspecs (used by C++ Navigation code) |
NavigationPoint |
VisNoReachPaths[16]
paths that are visible but not directly reachable |
bool |
bAutoBuilt
placed during execution of "PATHS BUILD" |
bool |
bEndPoint
used by C++ navigation code |
bool |
bEndPointOnly
only used as an endpoint in routing network |
bool |
bNeverUseStrafing
shouldn't use bAdvancedTactics going to this point |
bool |
bOneWayPath
reachspecs from this path only in the direction the path is facing (180 degrees) |
bool |
bPlayerOnly
only players should use this path |
bool |
bSpecialCost
if true, navigation code will call SpecialCost function for this navigation point |
bool |
bTwoWay
hacked here to fix CTF problems post release (used by Botpack.AlternatePath) |
int |
bestPathWeight
paths that are visible but not directly reachable |
int |
cost
added cost to visit this pathnode |
NavigationPoint |
nextNavigationPoint
paths that are visible but not directly reachable |
NavigationPoint |
nextOrdered
paths that are visible but not directly reachable |
name |
ownerTeam
creature clan owning this area (area visible from this point) |
NavigationPoint |
prevOrdered
paths that are visible but not directly reachable |
NavigationPoint |
previousPath
paths that are visible but not directly reachable |
Actor |
routeCache
paths that are visible but not directly reachable |
NavigationPoint |
startPath
paths that are visible but not directly reachable |
bool |
taken
set when a creature is occupying this spot |
int |
upstreamPaths[16]
set when a creature is occupying this spot |
int |
visitedWeight
paths that are visible but not directly reachable |
Source Code
00001 //=============================================================================
00002 // NavigationPoint.
00003 //=============================================================================
00004 class NavigationPoint extends Actor
00005 native;
00006
00007 #exec Texture Import File=Textures\S_Pickup.pcx Name=S_Pickup Mips=Off Flags=2
00008
00009 //------------------------------------------------------------------------------
00010 // NavigationPoint variables
00011 var() name ownerTeam; //creature clan owning this area (area visible from this point)
00012 var bool taken; //set when a creature is occupying this spot
00013 var int upstreamPaths[16];
00014 var int Paths[16]; //index of reachspecs (used by C++ Navigation code)
00015 var int PrunedPaths[16];
00016 var NavigationPoint VisNoReachPaths[16]; //paths that are visible but not directly reachable
00017 var int visitedWeight;
00018 var actor routeCache;
00019 var const int bestPathWeight;
00020 var const NavigationPoint nextNavigationPoint;
00021 var const NavigationPoint nextOrdered;
00022 var const NavigationPoint prevOrdered;
00023 var const NavigationPoint startPath;
00024 var const NavigationPoint previousPath;
00025 var int cost; //added cost to visit this pathnode
00026 var() int ExtraCost;
00027 var() bool bPlayerOnly; //only players should use this path
00028
00029 var bool bEndPoint; //used by C++ navigation code
00030 var bool bEndPointOnly; //only used as an endpoint in routing network
00031 var bool bSpecialCost; //if true, navigation code will call SpecialCost function for this navigation point
00032 var() bool bOneWayPath; //reachspecs from this path only in the direction the path is facing (180 degrees)
00033 var() bool bNeverUseStrafing; // shouldn't use bAdvancedTactics going to this point
00034 var bool bAutoBuilt; // placed during execution of "PATHS BUILD"
00035 var bool bTwoWay; // hacked here to fix CTF problems post release (used by Botpack.AlternatePath)
00036
00037 native(519) final function describeSpec(int iSpec, out Actor Start, out Actor End, out int ReachFlags, out int Distance);
00038 event int SpecialCost(Pawn Seeker);
00039
00040 // Accept an actor that has teleported in.
00041 // used for random spawning and initial placement of creatures
00042 event bool Accept( actor Incoming, actor Source )
00043 {
00044 // Move the actor here.
00045 taken = Incoming.SetLocation( Location + vect (0,0,20));
00046 if (taken)
00047 {
00048 Incoming.Velocity = vect(0,0,0);
00049 Incoming.SetRotation(Rotation);
00050 }
00051 // Play teleport-in effect.
00052 PlayTeleportEffect(Incoming, true);
00053 return taken;
00054 }
00055
00056 function PlayTeleportEffect(actor Incoming, bool bOut)
00057 {
00058 Level.Game.PlayTeleportEffect(Incoming, bOut, false);
00059 }
00060
00061 defaultproperties
00062 {
00063 upstreamPaths(0)=-1
00064 upstreamPaths(1)=-1
00065 upstreamPaths(2)=-1
00066 upstreamPaths(3)=-1
00067 upstreamPaths(4)=-1
00068 upstreamPaths(5)=-1
00069 upstreamPaths(6)=-1
00070 upstreamPaths(7)=-1
00071 upstreamPaths(8)=-1
00072 upstreamPaths(9)=-1
00073 upstreamPaths(10)=-1
00074 upstreamPaths(11)=-1
00075 upstreamPaths(12)=-1
00076 upstreamPaths(13)=-1
00077 upstreamPaths(14)=-1
00078 upstreamPaths(15)=-1
00079 Paths(0)=-1
00080 Paths(1)=-1
00081 Paths(2)=-1
00082 Paths(3)=-1
00083 Paths(4)=-1
00084 Paths(5)=-1
00085 Paths(6)=-1
00086 Paths(7)=-1
00087 Paths(8)=-1
00088 Paths(9)=-1
00089 Paths(10)=-1
00090 Paths(11)=-1
00091 Paths(12)=-1
00092 Paths(13)=-1
00093 Paths(14)=-1
00094 Paths(15)=-1
00095 PrunedPaths(0)=-1
00096 PrunedPaths(1)=-1
00097 PrunedPaths(2)=-1
00098 PrunedPaths(3)=-1
00099 PrunedPaths(4)=-1
00100 PrunedPaths(5)=-1
00101 PrunedPaths(6)=-1
00102 PrunedPaths(7)=-1
00103 PrunedPaths(8)=-1
00104 PrunedPaths(9)=-1
00105 PrunedPaths(10)=-1
00106 PrunedPaths(11)=-1
00107 PrunedPaths(12)=-1
00108 PrunedPaths(13)=-1
00109 PrunedPaths(14)=-1
00110 PrunedPaths(15)=-1
00111 bStatic=True
00112 bHidden=True
00113 bCollideWhenPlacing=True
00114 SoundVolume=0
00115 CollisionRadius=46.000000
00116 CollisionHeight=50.000000
00117 }
|
End Source Code