VR-Engage  2.2
Loading...
Searching...
No Matches
vreAmmunitionManager.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreAmmunitionManager.h
7//! \ingroup vreVrfobjparam
8//! \brief Ammunition manager for VREngage
9//!
10//! This file defines the DtVreAmmunitionManager class, which manages ammunition
11//! (such as bullets in a gun) for VREngage simulations. It handles ammunition types,
12//! targeting capabilities, and ammunition parameters for weapons.
13
14#pragma once
15
17#include <vrfobjparam/ammunitionManager.h>
18
19namespace makVre
20{
22
23//! \brief Ammunition manager for VREngage weapon systems
24//!
25//! The DtVreAmmunitionManager maintains ammunition that is not published to the
26//! network (such as bullets in a gun), their munition types, and the targets they
27//! can currently engage. This class extends the base ammunition manager to create
28//! VREngage-specific ammunition parameter objects that support the extended data
29//! found in ammunitionParams.mtl configuration files.
30class VREVRFOBJPARAM_DLL DtVreAmmunitionManager : public DtAmmunitionManager
31{
32public:
33 //! \brief Default constructor
34 //!
35 //! Creates a new ammunition manager with default values.
37
38 //! \brief Virtual destructor
39 //!
40 //! Cleans up resources used by the ammunition manager.
41 virtual ~DtVreAmmunitionManager() override;
42
43 //! \brief Factory function to create a new ammunition manager
44 //! \return Pointer to a newly created ammunition manager
45 //!
46 //! Static factory function used to instantiate new instances of the
47 //! ammunition manager.
48 static DtAmmunitionManager* create();
49
50protected:
51 //! \brief Creates a new ammunition parameters object
52 //! \return Pointer to a newly created ammunition parameters object
53 //!
54 //! Creates a new instance of DtVreAmmunitionParams. If new parameters are
55 //! used in a derived version of this class, override this method to return
56 //! a derived version of DtVreAmmunitionParams.
57 //!
58 //! This factory method enables the ammunition manager to create appropriate
59 //! parameter objects specific to VREngage.
60 virtual DtAmmunitionParams* createParameters() override;
61
62private:
63 //! \brief Copy constructor (not implemented)
64 //! \param orig The source manager to copy from
65 //!
66 //! Copy constructor is private and not implemented to prevent copying.
68
69 //! \brief Assignment operator (not implemented)
70 //! \param other The source manager to copy from
71 //! \return Reference to this manager after assignment
72 //!
73 //! Assignment operator is private and not implemented to prevent assignment.
75};
76} // namespace makVre
virtual DtAmmunitionParams * createParameters() override
Creates a new ammunition parameters object.
DtVreAmmunitionManager & operator=(const DtVreAmmunitionManager &other)
Assignment operator (not implemented)
virtual ~DtVreAmmunitionManager() override
Virtual destructor.
static DtAmmunitionManager * create()
Factory function to create a new ammunition manager.
DtVreAmmunitionManager(const DtVreAmmunitionManager &orig)
Copy constructor (not implemented)
DtVreAmmunitionManager()
Default constructor.
Ammunition parameters for VREngage weapon systems.
Definition vreAmmunitionParams.h:30
Export macros for the VREngage Object Parameter library.
#define VREVRFOBJPARAM_DLL
Platform-specific DLL export/import declaration.
Definition export.h:27
Include export definitions for this library.
Definition glsVreMessageUtil.h:49