Soteric
Knight
Code:
for( int i = 0; i < reader.ReadInt(); i++ )
for( int i = 0; i < reader.ReadInt(); i++ )
Soteric;803845 said:This code shouldn't work. "i < reader.ReadInt()" invokes on each step of the loop, so you've serialized m_inMates.Count only once but deserialize it several times. You should deserialize it to some variable first and then use that variableCode:for( int i = 0; i < reader.ReadInt(); i++ )
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
int read = reader.ReadInt();
for( int i = 0; i < read; i++ )
{
Mobile readMobile = reader.ReadMobile();
m_inMates.Add( readMobile, new MobileFields( reader.ReadDateTime(), reader.ReadTimeSpan(), reader.ReadPoint3D(), reader.ReadMap(), reader.ReadString() ));
jTimer = new JailingTimer( readMobile, (m_inMates[readMobile]).Sentance );
jTimer.Start();
}
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
int read = reader.ReadInt();
for( int i = 0; i < read; i++ )
{
Mobile readMobile = reader.ReadMobile();
m_inMates.Add( readMobile, new MobileFields( reader.ReadDateTime(), reader.ReadTimeSpan(), reader.ReadPoint3D(), reader.ReadMap(), reader.ReadString() ));
[COLOR="Red"]Timer t [/COLOR]= new JailingTimer( readMobile, (m_inMates[readMobile]).Sentance );
[COLOR="Red"]t.[/COLOR]Start();
}
}