public override void OnLocationChange( Point3D oldLocation )
{
if ( m_LockDowns == null )
return;
int x = base.Location.X - oldLocation.X;
int y = base.Location.Y - oldLocation.Y;
int z = base.Location.Z - oldLocation.Z;
if ( m_Sign != null && !m_Sign.Deleted )
m_Sign.Location = new Point3D( m_Sign.X + x, m_Sign.Y + y, m_Sign.Z + z );
UpdateRegion();
if ( m_Doors != null )
{
foreach ( Item item in m_Doors )
{
if ( !item.Deleted )
item.Location = new Point3D( item.X + x, item.Y + y, item.Z + z );
}
}
foreach ( IEntity entity in GetHouseEntities() )
{
Point3D newLocation = new Point3D( entity.X + x, entity.Y + y, entity.Z + z );
if ( entity is Item )
((Item)entity).Location = newLocation;
else
((Mobile)entity).Location = newLocation;
}
}