Пример #1
0
        /// <summary>
        /// Create a new handler.
        /// </summary>
        public Text2DHandler()
        {
            Root       = new GameObject(Name);
            Persistent = new GameObject("Persistent " + Name);
            Text2DManager textManager = Persistent.AddComponent <Text2DManager>();

            textManager.TextHandler = this;
            Persistent.transform.SetParent(Root.transform, false);
            Transient               = new GameObject("Transient " + Name);
            textManager             = Transient.AddComponent <Text2DManager>();
            textManager.TextHandler = this;
            Transient.transform.SetParent(Root.transform, false);
        }
Пример #2
0
        private static bool Serialise(Text2DManager textManager, PacketBuffer packet, BinaryWriter writer, ref uint count)
        {
            Shapes.Text2D shape          = new Shapes.Text2D(null);
            uint          progressMarker = 0;
            int           dataResult     = 1;
            bool          shapeOk        = true;

            foreach (TextEntry entry in textManager.Entries)
            {
                ++count;
                shape.ID       = entry.ID;
                shape.Category = entry.Category;
                shape.Flags    = entry.ObjectFlags;
                shape.SetPosition(entry.Position.x, entry.Position.y, entry.Position.z);
                shape.Text = entry.Text;
                shape.WriteCreate(packet);

                shapeOk = packet.FinalisePacket();
                if (shapeOk)
                {
                    packet.ExportTo(writer);

                    if (shape.IsComplex)
                    {
                        dataResult = 1;
                        while (dataResult > 0 && shapeOk)
                        {
                            shape.WriteData(packet, ref progressMarker);
                            shapeOk = packet.FinalisePacket();
                            if (shapeOk)
                            {
                                packet.ExportTo(writer);
                            }
                        }

                        shapeOk = dataResult == 0;
                    }
                }

                if (!shapeOk)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #3
0
        private static bool Serialise(Text2DManager textManager, PacketBuffer packet, BinaryWriter writer, ref uint count)
        {
            Shapes.Text2D shape          = new Shapes.Text2D(null);
            uint          progressMarker = 0;
            int           dataResult     = 1;
            bool          shapeOk        = true;

            foreach (TextEntry entry in textManager.Entries)
            {
                ++count;
                ConvertToShape(shape, entry);
                shape.WriteCreate(packet);

                shapeOk = packet.FinalisePacket();
                if (shapeOk)
                {
                    packet.ExportTo(writer);

                    if (shape.IsComplex)
                    {
                        dataResult = 1;
                        while (dataResult > 0 && shapeOk)
                        {
                            shape.WriteData(packet, ref progressMarker);
                            shapeOk = packet.FinalisePacket();
                            if (shapeOk)
                            {
                                packet.ExportTo(writer);
                            }
                        }

                        shapeOk = dataResult == 0;
                    }
                }

                if (!shapeOk)
                {
                    return(false);
                }
            }

            return(true);
        }