public void UpdateComponents()
{
if ( m_PPlank != null )
{
m_PPlank.MoveToWorld( GetRotatedLocation( PortOffset.X, PortOffset.Y ), Map );
m_PPlank.SetFacing( m_Facing );
}
if ( m_SPlank != null )
{
m_SPlank.MoveToWorld( GetRotatedLocation( StarboardOffset.X, StarboardOffset.Y ), Map );
m_SPlank.SetFacing( m_Facing );
}
int xOffset = 0, yOffset = 0;
Movement.Movement.Offset( m_Facing, ref xOffset, ref yOffset );
if ( m_TillerMan != null )
{
m_TillerMan.Location = new Point3D( X + (xOffset * TillerManDistance) + (m_Facing == Direction.North ? 1 : 0), Y + (yOffset * TillerManDistance), m_TillerMan.Z );
m_TillerMan.SetFacing( m_Facing );
m_TillerMan.InvalidateProperties();
}
if ( m_Hold != null )
{
m_Hold.Location = new Point3D( X + (xOffset * HoldDistance), Y + (yOffset * HoldDistance), m_Hold.Z );
m_Hold.SetFacing( m_Facing );
}
}