Exemplo n.º 1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                for (int i = 0; i < m_DirectionalItemIDs.GetLength(0); i++)
                {
                    for (int j = 0; j < m_DirectionalItemIDs.GetLength(1); j++)
                    {
                        m_DirectionalItemIDs[i, j] = reader.ReadInt();
                    }
                }
                m_ComponentType = (BoatComponentType)reader.ReadByte();
                goto case 0;
            }

            case 0:
            {
                m_Boat   = reader.ReadItem() as BaseBoat;
                m_Offset = reader.ReadPoint3D();
                break;
            }
            }
            if (Boat == null)
            {
                Delete();
            }
        }
Exemplo n.º 2
0
        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";
            }
        }
Exemplo n.º 3
0
 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";
     }
 }
Exemplo n.º 4
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch (version)
            {
                case 1:
                    {
                        for (int i = 0; i < m_DirectionalItemIDs.GetLength(0); i++)
                        {
                            for (int j = 0; j < m_DirectionalItemIDs.GetLength(1); j++)
                            {
                                m_DirectionalItemIDs[i, j] = reader.ReadInt();
                            }
                        }
                        m_ComponentType = (BoatComponentType)reader.ReadByte();
                        goto case 0;
                    }

                case 0:
                    {
                        m_Boat = reader.ReadItem() as BaseBoat;
                        m_Offset = reader.ReadPoint3D();
                        break;
                    }
            }
            if (Boat == null)
            {
                Delete();
            }
        }