6 #include "vlutil/vlString.h"
23 TargetApplicability_Unspecified = 0,
24 TargetApplicability_NotApplicable = 1,
25 TargetApplicability_Overkill = 2,
26 TargetApplicability_Applicable = 3,
27 TargetApplicability_Ideal = 4
32 WeaponStatus_Busy = 1,
33 WeaponStatus_Disabled = 2,
34 WeaponStatus_OutOfAmmo = 4,
35 WeaponStatus_Suppressed = 8,
36 WeaponStatus_Stowed = 16
39 static std::string targetApplicabilityString(TargetApplicability app);
45 virtual DtString displayName()
const = 0;
50 virtual DtU32 status()
const = 0;
53 virtual DtString statusString()
const;
57 virtual bool ready()
const;
60 virtual bool hasStatus(WeaponStatus testStatus)
const;
63 virtual std::list<DtSimTaskMessageType> fireTaskTypes()
const;
71 virtual bool withinTargetRegion(
const DtVector& localPosition)
const = 0;
74 virtual double maximumRange()
const = 0;
77 virtual double minimumRange()
const = 0;
80 virtual TargetApplicability targetApplicability(
const DtEntityType& type)
const = 0;
83 virtual bool targetAmmunition(
const DtEntityType& type)
const = 0;
86 virtual const std::list<DtEntityType>& desiredAmmunition()
const = 0;
92 virtual const std::list<DtArtPartType>& mountPartList()
const = 0;
96 virtual DtArtPartType systemTurretNumber()
const = 0;
102 virtual bool controlExternalTurret()
const = 0;
109 virtual const std::set<DtString>& requiredTokens()
const = 0;
113 virtual bool autonomousFire()
const = 0;
116 virtual const std::list<DtEntityType>& autonomousTargetTypes()
const = 0;
122 virtual int priority()
const = 0;
Holds a position of some form. May be an absolute position, or a reference to another object...
Definition: rwLocationReference.h:25
WeaponStatus
Definition: weaponInfoInterface.h:30
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
TargetApplicability
Definition: weaponInfoInterface.h:21
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Contains the DtSimObjectReference class declaration.
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
Abstract interface class for Weapon Information. This is used by DtWeaponInterfaceList. All code that is accessing information about weapons will have access to this base class only, and only be able to read the data. Weapon controllers will have derived versions that implement key functions for their specific weapon.
Definition: weaponInfoInterface.h:18