public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
writer.Write( m_EffectDelay );
writer.Write( m_TriggerDelay );
writer.Write( m_SoundDelay );
if ( m_Source is Item )
writer.Write( m_Source as Item );
else
writer.Write( m_Source as Mobile );
if ( m_Target is Item )
writer.Write( m_Target as Item );
else
writer.Write( m_Target as Mobile );
writer.Write( m_Trigger as Item );
writer.Write( m_FixedDirection );
writer.Write( m_Explodes );
writer.Write( m_PlaySoundAtTrigger );
writer.WriteEncodedInt( (int) m_EffectType );
writer.WriteEncodedInt( (int) m_EffectLayer );
writer.WriteEncodedInt( (int) m_TriggerType );
writer.WriteEncodedInt( m_ItemID );
writer.WriteEncodedInt( m_Hue );
writer.WriteEncodedInt( m_RenderMode );
writer.WriteEncodedInt( m_Speed );
writer.WriteEncodedInt( m_Duration );
writer.WriteEncodedInt( m_ParticleEffect );
writer.WriteEncodedInt( m_ExplodeParticleEffect );
writer.WriteEncodedInt( m_ExplodeSound );
writer.WriteEncodedInt( m_Unknown );
writer.WriteEncodedInt( m_SoundID );
writer.WriteEncodedInt( m_TriggerRange );
}