mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-26 14:56:39 +00:00 
			
		
		
		
	Merge duplicated public: and private: sections in cellstore.hpp
				
					
				
			This commit is contained in:
		
							parent
							
								
									31ae1cd339
								
							
						
					
					
						commit
						929fade8be
					
				
					 1 changed files with 72 additions and 75 deletions
				
			
		|  | @ -79,8 +79,6 @@ namespace MWWorld | |||
|     /// \brief Mutable state of a cell
 | ||||
|     class CellStore | ||||
|     { | ||||
|         friend struct CellStoreImp; | ||||
| 
 | ||||
|     public: | ||||
|         enum State | ||||
|         { | ||||
|  | @ -89,78 +87,6 @@ namespace MWWorld | |||
|             State_Loaded | ||||
|         }; | ||||
| 
 | ||||
|     private: | ||||
|         const MWWorld::ESMStore& mStore; | ||||
|         ESM::ReadersCache& mReaders; | ||||
| 
 | ||||
|         // Even though fog actually belongs to the player and not cells,
 | ||||
|         // it makes sense to store it here since we need it once for each cell.
 | ||||
|         // Note this is nullptr until the cell is explored to save some memory
 | ||||
|         std::unique_ptr<ESM::FogState> mFogState; | ||||
| 
 | ||||
|         MWWorld::Cell mCellVariant; | ||||
|         State mState; | ||||
|         bool mHasState; | ||||
|         std::vector<ESM::RefId> mIds; | ||||
|         float mWaterLevel; | ||||
| 
 | ||||
|         MWWorld::TimeStamp mLastRespawn; | ||||
| 
 | ||||
|         template <typename T> | ||||
|         static constexpr std::size_t getTypeIndex() | ||||
|         { | ||||
|             static_assert(Misc::TupleHasType<CellRefList<T>, CellStoreTuple>::value); | ||||
|             return Misc::TupleTypeIndex<CellRefList<T>, CellStoreTuple>::value; | ||||
|         } | ||||
| 
 | ||||
|         std::unique_ptr<CellStoreImp> mCellStoreImp; | ||||
|         std::vector<CellRefListBase*> mCellRefLists; | ||||
| 
 | ||||
|         template <class T> | ||||
|         CellRefList<T>& get() | ||||
|         { | ||||
|             mHasState = true; | ||||
|             return static_cast<CellRefList<T>&>(*mCellRefLists[getTypeIndex<T>()]); | ||||
|         } | ||||
| 
 | ||||
|         template <class T> | ||||
|         const CellRefList<T>& get() const | ||||
|         { | ||||
|             return static_cast<const CellRefList<T>&>(*mCellRefLists[getTypeIndex<T>()]); | ||||
|         } | ||||
| 
 | ||||
|         typedef std::map<LiveCellRefBase*, MWWorld::CellStore*> MovedRefTracker; | ||||
|         // References owned by a different cell that have been moved here.
 | ||||
|         // <reference, cell the reference originally came from>
 | ||||
|         MovedRefTracker mMovedHere; | ||||
|         // References owned by this cell that have been moved to another cell.
 | ||||
|         // <reference, cell the reference was moved to>
 | ||||
|         MovedRefTracker mMovedToAnotherCell; | ||||
| 
 | ||||
|         // Merged list of ref's currently in this cell - i.e. with added refs from mMovedHere, removed refs from
 | ||||
|         // mMovedToAnotherCell
 | ||||
|         std::vector<LiveCellRefBase*> mMergedRefs; | ||||
| 
 | ||||
|         // Get the Ptr for the given ref which originated from this cell (possibly moved to another cell at this point).
 | ||||
|         Ptr getCurrentPtr(MWWorld::LiveCellRefBase* ref); | ||||
| 
 | ||||
|         /// Moves object from the given cell to this cell.
 | ||||
|         void moveFrom(const MWWorld::Ptr& object, MWWorld::CellStore* from); | ||||
| 
 | ||||
|         /// Repopulate mMergedRefs.
 | ||||
|         void updateMergedRefs(); | ||||
| 
 | ||||
|         // (item, max charge)
 | ||||
|         typedef std::vector<std::pair<LiveCellRefBase*, float>> TRechargingItems; | ||||
|         TRechargingItems mRechargingItems; | ||||
| 
 | ||||
|         bool mRechargingItemsUpToDate; | ||||
| 
 | ||||
|         void updateRechargingItems(); | ||||
|         void rechargeItems(float duration); | ||||
|         void checkItem(const Ptr& ptr); | ||||
| 
 | ||||
|     public: | ||||
|         /// Should this reference be accessible to the outside world (i.e. to scripts / game logic)?
 | ||||
|         /// Determined based on the deletion flags. By default, objects deleted by content files are never accessible;
 | ||||
|         /// objects deleted by setCount(0) are still accessible *if* they came from a content file (needed for vanilla
 | ||||
|  | @ -364,7 +290,6 @@ namespace MWWorld | |||
| 
 | ||||
|         struct GetCellStoreCallback | ||||
|         { | ||||
|         public: | ||||
|             ///@note must return nullptr if the cell is not found
 | ||||
|             virtual CellStore* getCellStore(const ESM::CellId& cellId) = 0; | ||||
|             virtual ~GetCellStoreCallback() = default; | ||||
|  | @ -383,6 +308,78 @@ namespace MWWorld | |||
|         bool operator==(const CellStore& right) const; | ||||
| 
 | ||||
|     private: | ||||
|         friend struct CellStoreImp; | ||||
| 
 | ||||
|         const MWWorld::ESMStore& mStore; | ||||
|         ESM::ReadersCache& mReaders; | ||||
| 
 | ||||
|         // Even though fog actually belongs to the player and not cells,
 | ||||
|         // it makes sense to store it here since we need it once for each cell.
 | ||||
|         // Note this is nullptr until the cell is explored to save some memory
 | ||||
|         std::unique_ptr<ESM::FogState> mFogState; | ||||
| 
 | ||||
|         MWWorld::Cell mCellVariant; | ||||
|         State mState; | ||||
|         bool mHasState; | ||||
|         std::vector<ESM::RefId> mIds; | ||||
|         float mWaterLevel; | ||||
| 
 | ||||
|         MWWorld::TimeStamp mLastRespawn; | ||||
| 
 | ||||
|         template <typename T> | ||||
|         static constexpr std::size_t getTypeIndex() | ||||
|         { | ||||
|             static_assert(Misc::TupleHasType<CellRefList<T>, CellStoreTuple>::value); | ||||
|             return Misc::TupleTypeIndex<CellRefList<T>, CellStoreTuple>::value; | ||||
|         } | ||||
| 
 | ||||
|         std::unique_ptr<CellStoreImp> mCellStoreImp; | ||||
|         std::vector<CellRefListBase*> mCellRefLists; | ||||
| 
 | ||||
|         template <class T> | ||||
|         CellRefList<T>& get() | ||||
|         { | ||||
|             mHasState = true; | ||||
|             return static_cast<CellRefList<T>&>(*mCellRefLists[getTypeIndex<T>()]); | ||||
|         } | ||||
| 
 | ||||
|         template <class T> | ||||
|         const CellRefList<T>& get() const | ||||
|         { | ||||
|             return static_cast<const CellRefList<T>&>(*mCellRefLists[getTypeIndex<T>()]); | ||||
|         } | ||||
| 
 | ||||
|         typedef std::map<LiveCellRefBase*, MWWorld::CellStore*> MovedRefTracker; | ||||
|         // References owned by a different cell that have been moved here.
 | ||||
|         // <reference, cell the reference originally came from>
 | ||||
|         MovedRefTracker mMovedHere; | ||||
|         // References owned by this cell that have been moved to another cell.
 | ||||
|         // <reference, cell the reference was moved to>
 | ||||
|         MovedRefTracker mMovedToAnotherCell; | ||||
| 
 | ||||
|         // Merged list of ref's currently in this cell - i.e. with added refs from mMovedHere, removed refs from
 | ||||
|         // mMovedToAnotherCell
 | ||||
|         std::vector<LiveCellRefBase*> mMergedRefs; | ||||
| 
 | ||||
|         // Get the Ptr for the given ref which originated from this cell (possibly moved to another cell at this point).
 | ||||
|         Ptr getCurrentPtr(MWWorld::LiveCellRefBase* ref); | ||||
| 
 | ||||
|         /// Moves object from the given cell to this cell.
 | ||||
|         void moveFrom(const MWWorld::Ptr& object, MWWorld::CellStore* from); | ||||
| 
 | ||||
|         /// Repopulate mMergedRefs.
 | ||||
|         void updateMergedRefs(); | ||||
| 
 | ||||
|         // (item, max charge)
 | ||||
|         typedef std::vector<std::pair<LiveCellRefBase*, float>> TRechargingItems; | ||||
|         TRechargingItems mRechargingItems; | ||||
| 
 | ||||
|         bool mRechargingItemsUpToDate; | ||||
| 
 | ||||
|         void updateRechargingItems(); | ||||
|         void rechargeItems(float duration); | ||||
|         void checkItem(const Ptr& ptr); | ||||
| 
 | ||||
|         /// Run through references and store IDs
 | ||||
|         void listRefs(const ESM::Cell& cell); | ||||
|         void listRefs(const ESM4::Cell& cell); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue