42 lines
1.1 KiB
Ucode
42 lines
1.1 KiB
Ucode
|
/**
|
||
|
* operational AI control for TeamGame
|
||
|
*
|
||
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||
|
*/
|
||
|
|
||
|
class UDKSquadAI extends UDKTeamOwnedInfo
|
||
|
native;
|
||
|
|
||
|
var UDKGameObjective SquadObjective;
|
||
|
|
||
|
// Alternate path support
|
||
|
var NavigationPoint RouteObjective;
|
||
|
var array<NavigationPoint> ObjectiveRouteCache;
|
||
|
|
||
|
/** when generating a new ObjectiveRouteCache for the same objective, the previous is stored here so bots still following it don't get disrupted */
|
||
|
var array<NavigationPoint> PreviousObjectiveRouteCache;
|
||
|
|
||
|
/** bot that we want to use to generate the route (usually SquadLeader) */
|
||
|
var UDKBot PendingSquadRouteMaker;
|
||
|
|
||
|
/** current alternate route iteration (loops back to start after reaching MaxSquadRoutes) */
|
||
|
var int SquadRouteIteration;
|
||
|
|
||
|
struct native AlternateRoute
|
||
|
{
|
||
|
var array<NavigationPoint> RouteCache;
|
||
|
};
|
||
|
|
||
|
/** list of alternate routes. Each one higher in the list was created by first adding cost to the nodes in all previous routes */
|
||
|
var array<AlternateRoute> SquadRoutes;
|
||
|
|
||
|
/** maximum size of SquadRoutes list */
|
||
|
var int MaxSquadRoutes;
|
||
|
|
||
|
|
||
|
replication
|
||
|
{
|
||
|
if ( Role == ROLE_Authority )
|
||
|
SquadObjective;
|
||
|
}
|