BVB Source Codes

CRYENGINE Show VolumesManager.h Source code

Return Download CRYENGINE: download VolumesManager.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #ifndef __VolumesManager_h__
  4. #define __VolumesManager_h__
  5.  
  6. #pragma once
  7.  
  8. #include <CryAISystem/INavigationSystem.h>
  9.  
  10. /*
  11.    This class is needed to keep track of the navigation shapes created in Sandbox and their
  12.    respective IDs. It's necessary to keep consistency with the exported Navigation data
  13.    since the AISystem has no knowledge of the Editor's shape
  14.  */
  15.  
  16. class CVolumesManager
  17. {
  18. public:
  19.         CVolumesManager() {}
  20.  
  21.         bool               RegisterArea(const char* volumeName, NavigationVolumeID& outVolumeId);
  22.         void               UnRegisterArea(const char* volumeName);
  23.  
  24.         void               Clear();
  25.  
  26.         void               RegisterAreaFromLoadedData(const char* szVolumeName, NavigationVolumeID id);
  27.         void               ClearLoadedAreas();
  28.         void               ValidateAndSanitizeLoadedAreas(const INavigationSystem& navigationSystem);
  29.  
  30.         bool               SetAreaID(const char* volumeName, NavigationVolumeID id);
  31.         void               InvalidateID(NavigationVolumeID id);
  32.         void               UpdateNameForAreaID(const NavigationVolumeID id, const char* newName);
  33.  
  34.         bool               IsAreaPresent(const char* volumeName) const;
  35.         NavigationVolumeID GetAreaID(const char* volumeName) const;
  36.         bool               GetAreaName(NavigationVolumeID id, string& name) const;
  37.  
  38.         void               GetVolumesNames(std::vector<string>& names) const;
  39.  
  40.         bool               IsLoadedAreaPresent(const char* volumeName) const;
  41.         NavigationVolumeID GetLoadedAreaID(const char* volumeName) const;
  42.         void               GetLoadedUnregisteredVolumes(std::vector<NavigationVolumeID>& volumes) const;
  43. private:
  44.         typedef std::map<string, NavigationVolumeID> VolumesMap;
  45.         VolumesMap m_volumeAreas;
  46.         VolumesMap m_loadedVolumeAreas;
  47. };
  48.  
  49. #endif // __VolumesManager_h__
  50.  
downloadVolumesManager.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top