WSF
WsfScriptWeaponsManagerClass.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9/*******************************************************************************
10*
11* File: WsfScriptWeaponsManagerClass.hpp
12*
13* Classification: UNCLASSIFIED
14*
15* Details:
16*
17* Contract Number:
18* Contractor Name: Radiance Technologies
19* Address: 350 Wynn Drive
20* Huntsville, AL 35805
21*
22* Abstract: This is an abstract script base class for all weapons manager processor
23* script classes to inherit from. It provides necessary common functionality.
24* It's not pure abstract in the sense that we actually instantiate an object of this
25* type purely for type registration purposes with the sole intent of giving AFSIM
26* scripts the ability to up/down cast to and from the inherited types.
27*
28*******************************************************************************/
29
30#ifndef WSF_SCRIPT_WEAPONS_MANAGER_CLASS_HPP
31#define WSF_SCRIPT_WEAPONS_MANAGER_CLASS_HPP
32
33#include <WsfBMCommon.hpp>
35
37{
38 public:
39
40 WsfScriptWeaponsManagerClass(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
41 virtual ~WsfScriptWeaponsManagerClass() = default;
42
43 void* Create(const UtScriptContext& aContext) override;
44 void* Clone(void* aObjectPtr) override;
45 void Destroy(void* aObjectPtr) override;
46
47 static const char* SCRIPT_CLASS_NAME;
48 static const char* BASE_CLASS_NAME;
49
50 // Plugin API.
51 static WSF_IADS_C2_LIB_EXPORT const char* GetScriptClassName();
52 static WSF_IADS_C2_LIB_EXPORT const char* GetBaseClassName();
53
54 UT_DECLARE_SCRIPT_METHOD(IsWEZLibrarySpecified);
55 UT_DECLARE_SCRIPT_METHOD(GetWEZLibraryName);
56
57 UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeAero);
58 UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeMax1);
59 UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeMax2);
60
61 UT_DECLARE_SCRIPT_METHOD(GetEngageEWTargets);
62 UT_DECLARE_SCRIPT_METHOD(GetEngageTARTargets);
63 UT_DECLARE_SCRIPT_METHOD(GetEngageTTRTargets);
64};
65
66#endif
WsfScriptProcessorClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfScriptProcessorClass.cpp:31
UT_DECLARE_SCRIPT_METHOD(GetEngageEWTargets)
UT_DECLARE_SCRIPT_METHOD(GetEngageTARTargets)
static WSF_IADS_C2_LIB_EXPORT const char * GetBaseClassName()
Definition WsfScriptWeaponsManagerClass.cpp:100
void * Clone(void *aObjectPtr) override
Definition WsfScriptWeaponsManagerClass.cpp:83
UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeAero)
UT_DECLARE_SCRIPT_METHOD(GetWEZLibraryName)
UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeMax2)
void * Create(const UtScriptContext &aContext) override
Definition WsfScriptWeaponsManagerClass.cpp:74
UT_DECLARE_SCRIPT_METHOD(IsWEZLibrarySpecified)
static WSF_IADS_C2_LIB_EXPORT const char * GetScriptClassName()
Definition WsfScriptWeaponsManagerClass.cpp:95
UT_DECLARE_SCRIPT_METHOD(GetEngageTTRTargets)
static const char * SCRIPT_CLASS_NAME
Definition WsfScriptWeaponsManagerClass.hpp:47
UT_DECLARE_SCRIPT_METHOD(IsWEZTacticalRangeMax1)
WsfScriptWeaponsManagerClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfScriptWeaponsManagerClass.cpp:59
static const char * BASE_CLASS_NAME
Definition WsfScriptWeaponsManagerClass.hpp:48
void Destroy(void *aObjectPtr) override
Definition WsfScriptWeaponsManagerClass.cpp:89
virtual ~WsfScriptWeaponsManagerClass()=default
Copyrights Multiple, All Rights Reserved