public BoatComponent(BaseBoat boat, Point3D offset, int[,] directionalItemIDs)
: base()
{
m_Boat = boat;
Offset = offset;
Movable = false;
if (directionalItemIDs != null) // it is null for ship cannons
{
m_DirectionalItemIDs = directionalItemIDs;
}
if (m_Boat != null)
{
Point3D loc = m_Boat.GetRotatedLocation(offset.X, offset.Y);
loc.Z = m_Boat.Z + offset.Z;
MoveToWorld(loc, m_Boat.Map);
SetFacing(m_Boat.Direction);
}
m_ComponentType = GetBoatComponentType();
if (m_ComponentType == BoatComponentType.SteeringWheel)
{
Name = "ship's wheel";
}
else if (m_ComponentType == BoatComponentType.CannonSpot)
{
Name = "cannon holder";
}
else if (m_ComponentType == BoatComponentType.Rope)
{
// don't need to change the name
}
/*
else if (m_ComponentType == BoatComponentType.Mast)
{
Name = "a mast";
if (UberScriptFileName != null)
{
XmlScript script = new XmlScript(UberScriptFileName);
script.Name = "cannon";
XmlAttach.AttachTo(this, script);
}
}*/
else if (m_ComponentType == BoatComponentType.Hold)
{
Name = "hold";
}
}