VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
minefieldStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
13 
14 #include <vlutil/vlMachineTypes.h>
16 #include "vrfobjcore/mine.h"
19 #include "vrfutil/mineMunition.h"
20 
22 
30 {
31 private:
34 
37 
40  const DtMinefieldStateRepository& orig);
41 
42 public:
43 
45  DtMinefieldStateRepository(DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
46  DtReaderWriterRegistry* parentRegistry = 0);
47 
49  virtual ~DtMinefieldStateRepository() override;
50 
52  virtual DtString type() const override;
53 
55  virtual const int vrfOverlayObjectStateRepositorySubType() const override;
56 
58  virtual const int minefieldStateRepositorySubType() const;
59 
60  virtual void initializeFromParameters() override;
61  const DtMinefieldParameters* minefieldParameters() const;
62 
63  static DtVrfObjectStateRepository* creator(const DtString& name,
64  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
65 
67  virtual bool canSelfDestruct() const;
68  virtual void setCanSelfDestruct(bool selfDestruct);
69 
71  virtual DtMineList* getMineListForType(const DtEntityType& mineType);
72 
74  virtual bool getMinefieldComposition();
75 
78  virtual DtMineCompositionList& mineCompositionList();
79 
82  virtual bool createMinefield();
83 
90  virtual int generateLocations(const DtExtent ext, const int numMines,
91  const DtMineMunition& mineType);
92 
93  //returns mapped list of all mines in the minefield, mapped by mine type;
94  virtual DtMappedMineList& allMines();
95 
97  virtual void updateMineComposition();
98  virtual void objectVerticesChanged();
102  virtual int minefieldCreationIteration() const;
103 
104  virtual void toBeRemoved() override;
105  virtual bool init() override;
106 
107  virtual void tick() override;
108 
109 protected:
112 
116 
122 
126 
127  boost::signals2::scoped_connection myVerticesChangedConnection;
128  boost::signals2::scoped_connection myExtendedDataChangedConnection;
133 };
134 
bool myRecreateMinefield
Definition: minefieldStateRepository.h:130
boost::signals2::scoped_connection myVerticesChangedConnection
Definition: minefieldStateRepository.h:127
bool mySetupMines
Determines if mine composition needs to be set up from extendedData.
Definition: minefieldStateRepository.h:111
static DtVrfObjectStateRepository * creator(const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
boost::signals2::scoped_connection myExtendedDataChangedConnection
Definition: minefieldStateRepository.h:128
const DtVrfOverlayObjectStateRepository & operator=(const DtVrfOverlayObjectStateRepository &orig)
Assignment Operator.
Definition: readerWriterRegistry.h:39
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:91
DtMappedMineList myMines
Parameter Name: full-mine-list Maps for each mine type, list of mines, their locations, and detonation state.
Definition: minefieldStateRepository.h:125
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void toBeRemoved()
Called when the object is queued for removal.
DtMineCompositionList myMineCompositionList
Parameter Name: mine-composition-list Parameter Description: List of the types of mines and the perce...
Definition: minefieldStateRepository.h:121
virtual void tick()
This method is called each simulation frame, and may include any processing that needs to be done on ...
This file contains the class declaration for the.
virtual DtString type() const override
returns DtSimObjectStateRepositoryType
Description: This repository holds all information that is common to all the forms of minefield objec...
Definition: minefieldStateRepository.h:28
DtRwBoolean myCanSelfDestruct
Parameter Name: can-self-destruct Parameter Description: Whether or not minefield can self destruct...
Definition: minefieldStateRepository.h:115
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual bool init() override
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
Contains the set of readable/writeable parameters associated with a cultural feature entity...
Definition: minefieldParameters.h:29
Definition: vrfOverlayObjectStateRepository.h:30
DtMineCompositionList is a readable/writable list of DtMineCompositionEntrys.
Definition: mineCompositionList.h:21
virtual void initializeFromParameters()
DtTacticalGraphicLocalObjectFacade myTacticalGraphicLocalObjectFacade
Definition: minefieldStateRepository.h:129
DtMineMunition class.
Definition: mineMunition.h:24
virtual const int vrfOverlayObjectStateRepositorySubType() const
Returns DtVrfOverlayObjectStateRepositorySubTypeBase.
A locally simulated VRF object.
Definition: localObject.h:98
int myMinefieldCreationIteration
Indicates how many times the minefield has been (re)created.
Definition: minefieldStateRepository.h:132

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)