mirror of
https://github.com/SWG-Source/src.git
synced 2026-08-04 04:16:02 -04:00
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:
@@ -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;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user