private void FreeEntityDef(int index)
{
if((index < 0) || (index > _entityDefinitions.Count))
{
idConsole.WriteLine("idRenderWorld::FreeEntityDef: handle {0} > {1}", index, _entityDefinitions.Count);
return;
}
idRenderEntity def = _entityDefinitions[index];
if(def == null)
{
idConsole.WriteLine("idRenderWorld::FreeEntityDef: handle {0} is null", index);
return;
}
FreeEntityDefDerivedData(def, false, false);
// TODO: demo
/*if ( session->writeDemo && def->archived ) {
WriteFreeEntity( entityHandle );
}*/
// if we are playing a demo, these will have been freed
// in R_FreeEntityDefDerivedData(), otherwise the gui
// object still exists in the game
def.Parameters.Gui[0] = null;
def.Parameters.Gui[1] = null;
def.Parameters.Gui[2] = null;
_entityDefinitions[index] = null;
}