Merged in Server Load Manager

commit d46e8ba01f
Author: Cekis <[email protected]>
Date:   Sat Sep 28 19:35:21 2019 -0400

    Created the Server Load Manager
This commit is contained in:
CekisSWG
2019-11-26 15:56:14 -08:00
parent 7c08c716dc
commit 49689cb559
6 changed files with 66 additions and 15 deletions
@@ -158,6 +158,13 @@ std::string const & BuildoutArea::getRequiredEventName() const
return requiredEventName;
}
//----------------------------------------------------------------------
std::string const & BuildoutArea::getRequiredLoadLevel() const
{
return requiredLoadLevel;
}
// ======================================================================
bool SharedBuildoutAreaManager::isBuildoutScene(std::string const & sceneName)
@@ -263,6 +270,8 @@ void SharedBuildoutAreaManager::install()
buildoutArea.internalBuildoutArea = areaListTable.getIntValue("internal", areaRow) != 0;
buildoutArea.requiredEventName = areaListTable.getStringValue("eventRequired", areaRow);
buildoutArea.requiredLoadLevel = areaListTable.getStringValue("requiredLoadLevel", areaRow);
}
s_buildoutAreas[buildoutScene] = areasForScene;
@@ -347,6 +356,9 @@ Vector SharedBuildoutAreaManager::getRelativePositionInArea(std::string const &
if(ignoreNonActiveEvents && !boa.requiredEventName.empty()) // Eventually this needs to query the scheduler system and see if the event is currently active.
continue;
if(ignoreNonActiveEvents && !boa.requiredLoadLevel.empty())
continue;
if(boa.isLocationInside(location_w.x, location_w.z) && boa.areaName == sceneAndArea.second)
{
@@ -561,6 +573,9 @@ BuildoutArea const * SharedBuildoutAreaManager::findBuildoutAreaAtPosition(std::
if(ignoreNonActiveEvents && !buildoutArea.requiredEventName.empty())
continue;
if(ignoreNonActiveEvents && !buildoutArea.requiredLoadLevel.empty())
continue;
if (buildoutArea.isLocationInside(x, z))
{
return &buildoutArea;
@@ -585,6 +600,9 @@ BuildoutArea const * SharedBuildoutAreaManager::findBuildoutAreaAtPosition(float
if(ignoreNonActiveEvents && !buildoutArea.requiredEventName.empty())
return nullptr;
if(ignoreNonActiveEvents && !buildoutArea.requiredLoadLevel.empty())
return nullptr;
if (buildoutArea.isLocationInside(x, z))
{
return &buildoutArea;
@@ -38,6 +38,7 @@ public:
Vector getRelativePosition(Vector const & pos_w, bool allowComposite) const;
std::string const & getRequiredEventName() const;
std::string const & getRequiredLoadLevel() const;
int areaIndex;
std::string areaName;
@@ -63,6 +64,9 @@ public:
// Required Event name for a particular buildout
std::string requiredEventName;
// Required Server level for a particular buildout
std::string requiredLoadLevel;
};
// ----------------------------------------------------------------------