VR-Forces 5.0.3 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();
50 
52  virtual DtString type() const;
53 
55  virtual const int vrfOverlayObjectStateRepositorySubType() const;
56 
58  virtual const int minefieldStateRepositorySubType() const;
59 
60  virtual void initializeFromParameters();
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 DtString& name, const DtEntityType& mineType);
72 
74  virtual bool getMinefieldComposition();
75 
78  virtual DtMineCompositionList& mineCompositionList();
79 
82  virtual bool createMinefield();
83 
84  virtual void generateLocations(const DtExtent ext, const int numMines, const DtMineMunition& mineType);
85 
86  //returns mapped list of all mines in the minefield, mapped by mine type;
87  virtual DtMappedMineList& allMines();
88 
90  virtual void updateMineComposition();
91  virtual void objectVerticesChanged();
92 
93  virtual void toBeRemoved();
94  virtual bool init() override;
95 
96  virtual void tick() override;
97 
98 protected:
101 
105 
111 
115 
116  boost::signals2::scoped_connection myVerticesChangedConnection;
117  boost::signals2::scoped_connection myExtendedDataChangedConnection;
120 };
121 
bool myRecreateMinefield
Definition: minefieldStateRepository.h:119
boost::signals2::scoped_connection myVerticesChangedConnection
Definition: minefieldStateRepository.h:116
bool mySetupMines
Determines if mine composition needs to be set up from extendedData.
Definition: minefieldStateRepository.h:100
static DtVrfObjectStateRepository * creator(const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
boost::signals2::scoped_connection myExtendedDataChangedConnection
Definition: minefieldStateRepository.h:117
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:90
DtMappedMineList myMines
Parameter Name: full-mine-list Maps for each mine type, list of mines, their locations, and detonation state.
Definition: minefieldStateRepository.h:114
#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.
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
DtMineCompositionList myMineCompositionList
Parameter Name: mine-composition-list Parameter Description: List of the types of mines and the perce...
Definition: minefieldStateRepository.h:110
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
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:104
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
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:118
DtMineMunition class.
Definition: mineMunition.h:24
virtual const int vrfOverlayObjectStateRepositorySubType() const
Returns DtVrfOverlayObjectStateRepositorySubTypeBase.
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)