The Ground Tasking Manager Class:

Superclasses:

VuEntity

FalconEntity

Other Subclasses: CampBaseClass , SimBaseClass,TeamClass

CampManagerClass

Other Subclasses : AirTaskingManagerClass, NavalTaskingManagerClass


GroundTaskingManagerClass

  short   flags;
  // These don't need to be transmitted
  GODNode   objList[GORD_LAST];    // Sorted lists of objectives we want to assign to
  USNode   canidateList[GORD_LAST];  // List of all possible canidate units for each order
  short   topPriority;   // Highest PO priority (for scaling)
  short   priorityObj;     // CampID of highest priority objective
 public:
  // constructors
  GroundTaskingManagerClass(ushort type, Team t);
  GroundTaskingManagerClass(VU_BYTE **stream);
  GroundTaskingManagerClass(FILE *file);
  virtual ~GroundTaskingManagerClass();
  virtual int SaveSize (void);
  virtual int Save (VU_BYTE **stream);
  virtual int Save (FILE *file);
  virtual int Handle(VuFullUpdateEvent *event);

  // Required pure virtuals
  virtual void DoCalculations();
  virtual int Task();

  // support functions
  void Setup (void);
  void Cleanup (void);
  int GetAddBits (Objective o, int to_collect);
  int BuildObjectiveLists (int to_collect);
     int CollectGroundAssets (int to_collect);
  void AddToList (Unit u, int orders);
  void AddToLists(Unit u, int to_collect);
  int IsValidObjective (int orders, Objective o);

  int AssignUnit (Unit u, int orders, Objective o, int score);
  int AssignUnits (int orders, int mode);
  int AssignObjective (GODNode curo, int orders, int mode);

  int ScoreUnit (USNode curu, GODNode curo, int orders, int mode);
  int ScoreUnitFast (USNode curu, GODNode curo, int orders, int mode);

  void FinalizeOrders(void);

  // core functions
  void SendGTMMessage (VU_ID from, short message, short data1, short data2, VU_ID data3);

  // Private message handling functions (Called by Process())
  void RequestSupport (VU_ID enemy, int division);
  void RequestEngineer (Objective o, int division);
  void RequestAirDefense (Objective o, int division);