VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weaponInfoInterface.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "simObjectReference.h"
6 #include "vlutil/vlString.h"
7 #include <string>
8 
10 class DtSimTask;
11 class DtRwProperties;
12 
19 {
20 public:
22  {
23  TargetApplicability_Unspecified = 0,
24  TargetApplicability_NotApplicable = 1,
25  TargetApplicability_Overkill = 2,
26  TargetApplicability_Applicable = 3,
27  TargetApplicability_Ideal = 4
28  };
29 
31  {
32  WeaponStatus_Busy = 1,
33  WeaponStatus_Disabled = 2,
34  WeaponStatus_OutOfAmmo = 4,
35  WeaponStatus_Suppressed = 8,
36  WeaponStatus_Stowed = 16
37  };
38 
39  static std::string targetApplicabilityString(TargetApplicability app);
40 
42 
43  virtual ~DtWeaponInfoInterface() = 0;
44 
45  virtual DtString displayName() const = 0;
46 
50  virtual DtU32 status() const = 0;
51 
53  virtual DtString statusString() const;
54 
57  virtual bool ready() const;
58 
60  virtual bool hasStatus(WeaponStatus testStatus) const;
61 
63  virtual std::list<DtSimTaskMessageType> fireTaskTypes() const;
64 
67  virtual DtSimTask* createFireTask(const DtRwLocationReference& location) const = 0;
68 
71  virtual bool withinTargetRegion(const DtVector& localPosition) const = 0;
72 
74  virtual TargetApplicability targetApplicability(const DtEntityType& type) const = 0;
75 
78  virtual const std::list<DtString>& resourceList() const = 0;
79 
84  virtual const std::list<DtArtPartType>& mountPartList() const = 0;
85 
88  virtual DtArtPartType systemTurretNumber() const = 0;
89 
94  virtual bool controlExternalTurret() const = 0;
95 
101  virtual const std::set<DtString>& requiredTokens() const = 0;
102 
105  virtual bool autonomousFire() const = 0;
108  virtual const std::list<DtEntityType>& autonomousTargetTypes() const = 0;
109 
110  virtual const DtRwProperties* weaponProperties() const = 0;
111 
114  virtual int priority() const = 0;
115 };
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:126
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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)