public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 12 ); // version
if ( m_RestoreEquip == null )
{
writer.Write( false );
}
else
{
writer.Write( true );
writer.Write( m_RestoreEquip );
}
writer.Write( (int)m_Flags );
writer.WriteDeltaTime( m_TimeOfDeath );
List<KeyValuePair<Item, Point3D>> list = ( m_RestoreTable == null ? null : new List<KeyValuePair<Item, Point3D>>( m_RestoreTable ) );
int count = ( list == null ? 0 : list.Count );
writer.Write( count );
for ( int i = 0; i < count; ++i )
{
KeyValuePair<Item, Point3D> kvp = list[i];
Item item = kvp.Key;
Point3D loc = kvp.Value;
writer.Write( item );
if ( item.Location == loc )
{
writer.Write( false );
}
else
{
writer.Write( true );
writer.Write( loc );
}
}
writer.Write( m_DecayTimer != null );
if ( m_DecayTimer != null )
writer.WriteDeltaTime( m_DecayTime );
writer.Write( m_Looters );
writer.Write( m_Killer );
writer.Write( m_Aggressors );
writer.Write( m_Owner );
writer.Write( (string) m_CorpseName );
writer.Write( (int) m_AccessLevel );
writer.Write( (Guild) m_Guild );
writer.Write( (int) m_Kills );
writer.Write( m_EquipItems );
}