public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Corrosivity = reader.ReadInt(); m_Duration = reader.ReadInt(); int c = reader.ReadInt(); if ( c > 0 ) { m_Effects = new Dictionary<CustomEffect, int>(); for ( int i = 0; i < c; i++ ) m_Effects.Add( (CustomEffect) reader.ReadInt(), reader.ReadInt() ); } m_Timer = new WearOffTimer( this ); m_Timer.Start(); break; } case 1: { m_MaxDuration = reader.ReadInt(); goto case 0; } } }
public override void OnAttach() { if ( !(AttachedTo is BaseMeleeWeapon) ) this.Delete(); base.OnAttach(); (AttachedTo as BaseWeapon).InvalidateProperties(); if ( m_Timer == null ) { m_Timer = new WearOffTimer( this ); m_Timer.Start(); } }