VR-Engage  2.2
Loading...
Searching...
No Matches
topAndDirectLauncherPSR.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file topAndDirectLauncherPSR.h
7//! \ingroup vreVrfobjcore
8//! \brief Javelin launcher process state repository for VREngage
9//!
10//! This file defines the DtJavelinLauncherPSR class, which provides a process state repository
11//! for Javelin missile launcher components in VREngage. It maintains the attack mode state
12//! (top attack or direct attack) for a Javelin missile launcher.
13
14//! Maintains the attack mode state (top attack or direct attack) for a missile launcher.
15
16#pragma once
17
18#include "vreVrfObjcore/export.h"
19
20#include <vrfobjcore/vrfWeaponPSR.h>
21
22// Forward declarations
23
24namespace makVre
25{
26const char DtTopAndDirectLauncherPSRType[] = "top-and-direct-launcher-PSR";
27
28class VREVRFOBJCORE_DLL DtTopAndDirectLauncherPSR : public DtVrfWeaponPSR
29{
30protected:
31 //! \brief Default constructor (not implemented)
32 //!
33 //! Default constructor is protected and not implemented to prevent
34 //! creation of instances without proper initialization.
36
37public:
38 //! \brief Constructor with VRF object and optional name
39 //! \param vrfObject Pointer to the local object this PSR is associated with
40 //! \param rwName Optional reader/writer name
41 //! \param parentRegistry Optional parent registry for reader/writer functionality
42 //!
43 //! Creates a new Javelin launcher PSR for the specified VRF object.
44 DtTopAndDirectLauncherPSR(DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
45 DtReaderWriterRegistry* parentRegistry = 0);
46
47 DtTopAndDirectLauncherPSR(const DtTopAndDirectLauncherPSR& orig, const DtString& rwName = DtString::nullString(),
48 DtReaderWriterRegistry* parentRegistry = 0);
49
51
52 virtual ~DtTopAndDirectLauncherPSR() override;
53
54 //! \brief Creates a clone of this PSR
55 //! \param rwName Optional reader/writer name for the clone
56 //! \param parentRegistry Optional parent registry for reader/writer functionality
57 //! \return Pointer to a new PSR that is a clone of this one
58 //!
59 //! Creates a new Javelin launcher PSR as a deep copy of this one.
60 virtual DtVrfProcessStateRepository* clone(const DtString& rwName = DtString::nullString(),
61 DtReaderWriterRegistry* parentRegistry = 0) const override;
62
63 //! Returns the string type of the repository, DtTopAndDirectLauncherPSRType.
64 virtual DtString type() const override;
65
66 // Accessor/mutator for launcher attack mode.
67 virtual void setMissileFlightMode(const DtString& mode);
68
69 //! \brief Gets the missile flight mode
70 //! \return String identifying the current flight mode ("top" or "direct")
71 //!
72 //! Returns the current flight mode setting for Javelin missiles launched from this weapon.
73 virtual DtString missileFlightMode() const;
74
75 //! Create an instance of a DtTopAndDirectLauncherPSR
76 static DtVrfProcessStateRepository* creator(
77 const DtString& name, DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
78
79protected:
80 //! \brief The missile flight mode setting
81 //!
82 //! Stores the current flight mode for Javelin missiles launched from this weapon.
83 //! Valid values are "top" for top attack mode and "direct" for direct attack mode.
85};
86} // namespace makVre
DtRwString myMissileFlightMode
The missile flight mode setting.
Definition topAndDirectLauncherPSR.h:84
DtTopAndDirectLauncherPSR(const DtTopAndDirectLauncherPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const override
Creates a clone of this PSR.
virtual DtString missileFlightMode() const
Gets the missile flight mode.
virtual ~DtTopAndDirectLauncherPSR() override
virtual DtString type() const override
Returns the string type of the repository, DtTopAndDirectLauncherPSRType.
const DtTopAndDirectLauncherPSR & operator=(const DtTopAndDirectLauncherPSR &orig)
DtTopAndDirectLauncherPSR()
Default constructor (not implemented)
virtual void setMissileFlightMode(const DtString &mode)
DtTopAndDirectLauncherPSR(DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
Constructor with VRF object and optional name.
static DtVrfProcessStateRepository * creator(const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
Create an instance of a DtTopAndDirectLauncherPSR.
#define VREVRFOBJCORE_DLL
Platform-specific DLL export/import declaration.
Definition export.h:27
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtTopAndDirectLauncherPSRType[]
Definition topAndDirectLauncherPSR.h:26