idTech4.Renderer.idRenderWorld.FreeEntityDef C# (CSharp) Method

FreeEntityDef() private method

private FreeEntityDef ( int index ) : void
index int
return void
		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;
		}