feat: remove experience
This commit is contained in:
1 parent
bdfe5350cd
commit
41d166afed
83 files changed
+47
-1501
No files matched your search
@@ -1228,18 +1228,6 @@ bool ServerLevel::addEntity(shared_ptr<Entity> e)
|
||||
}
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
// If its an experience orb entity, and we've got to our capacity, delete the oldest
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
// printf("Adding arrow entity count %d\n",m_arrowEntities.size());
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
if( m_experienceOrbEntities.size() >= MAX_EXPERIENCEORB_ENTITIES )
|
||||
{
|
||||
// printf("Adding - doing remove\n");
|
||||
removeEntityImmediately(m_experienceOrbEntities.front());
|
||||
}
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
return Level::addEntity(e);
|
||||
}
|
||||
|
||||
@@ -1267,13 +1255,6 @@ void ServerLevel::entityAddedExtra(shared_ptr<Entity> e)
|
||||
// printf("entity added: arrow entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_experienceOrbEntities.push_back(e);
|
||||
// printf("entity added: experience orb entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
@@ -1330,19 +1311,6 @@ void ServerLevel::entityRemovedExtra(shared_ptr<Entity> e)
|
||||
// printf("entity removed: arrow entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
// printf("entity removed: experience orb entity count %d\n",m_arrowEntities.size());
|
||||
AUTO_VAR(it, find(m_experienceOrbEntities.begin(),m_experienceOrbEntities.end(),e));
|
||||
if( it != m_experienceOrbEntities.end() )
|
||||
{
|
||||
// printf("Item to remove found\n");
|
||||
m_experienceOrbEntities.erase(it);
|
||||
}
|
||||
// printf("entity removed: experience orb entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
|
||||
Reference in new issue
Block a user