AvatarsConquest/Scripts/Items/Skill Items/Thief/DisguisePersistance.cs

83 lines
1.6 KiB
C#

using System;
using System.Collections;
using Server;
using Server.Mobiles;
using Server.Network;
namespace Server.Items
{
public class DisguisePersistance : Item
{
private static DisguisePersistance m_Instance;
public static DisguisePersistance Instance{ get{ return m_Instance; } }
public override string DefaultName
{
get { return "Disguise Persistance - Internal"; }
}
public DisguisePersistance() : base( 1 )
{
Movable = false;
if ( m_Instance == null || m_Instance.Deleted )
m_Instance = this;
else
base.Delete();
}
public DisguisePersistance( Serial serial ) : base( serial )
{
m_Instance = this;
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
int timerCount = DisguiseTimers.Timers.Count;
writer.Write( timerCount );
foreach ( DictionaryEntry entry in DisguiseTimers.Timers )
{
Mobile m = (Mobile)entry.Key;
writer.Write( m );
writer.Write( ((Timer)entry.Value).Next - DateTime.Now );
writer.Write( m.NameMod );
}
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize( reader );
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
int count = reader.ReadInt();
for ( int i = 0; i < count; ++i )
{
Mobile m = reader.ReadMobile();
DisguiseTimers.CreateTimer( m, reader.ReadTimeSpan() );
m.NameMod = reader.ReadString();
}
break;
}
}
}
public override void Delete()
{
}
}
}