コード例 #1
0
            public void Write(OutputBuffer o)
            {
                OutputBuffer chunk = new OutputBuffer();

                chunk.writeInt(atlasId);
                chunk.writeShort(unk1);
                chunk.writeShort((short)verts.Length);
                chunk.writeInt(indices.Length);

                foreach (var vert in verts)
                {
                    chunk.writeFloat(vert.x);
                    chunk.writeFloat(vert.y);
                    chunk.writeFloat(vert.u);
                    chunk.writeFloat(vert.v);
                }

                foreach (var index in indices)
                {
                    chunk.writeShort(index);
                }

                if ((indices.Length % 2) != 0)
                {
                    chunk.writeShort(0);
                }

                o.writeInt((int)TagType.Graphic);
                o.writeInt(chunk.Size / 4);
                o.write(chunk);
            }
コード例 #2
0
        void writePositions(OutputBuffer o)
        {
            o.writeInt((int)TagType.Positions);
            o.writeInt(positions.Count * 2 + 1);
            o.writeInt(positions.Count);

            foreach (var position in positions)
            {
                o.writeFloat(position.X);
                o.writeFloat(position.Y);
            }
        }
コード例 #3
0
        void writeAtlases(OutputBuffer o)
        {
            o.writeInt((int)TagType.TextureAtlases);
            o.writeInt(textureAtlases.Count * 4 + 1);
            o.writeInt(textureAtlases.Count);

            foreach (var atlas in textureAtlases)
            {
                o.writeInt(atlas.id);
                o.writeInt(atlas.unk);
                o.writeFloat(atlas.width);
                o.writeFloat(atlas.height);
            }
        }
コード例 #4
0
        void writeExtents(OutputBuffer o)
        {
            o.writeInt((int)TagType.Bounds);
            o.writeInt(bounds.Count * 4 + 1);
            o.writeInt(bounds.Count);

            foreach (var extent in bounds)
            {
                o.writeFloat(extent.left);
                o.writeFloat(extent.top);
                o.writeFloat(extent.right);
                o.writeFloat(extent.bottom);
            }
        }
コード例 #5
0
        void writeTransforms(OutputBuffer o)
        {
            o.writeInt((int)TagType.Transforms);
            o.writeInt(transforms.Count * 6 + 1);
            o.writeInt(transforms.Count);

            foreach (var transform in transforms)
            {
                o.writeFloat(transform.M11);
                o.writeFloat(transform.M12);
                o.writeFloat(transform.M21);
                o.writeFloat(transform.M22);
                o.writeFloat(transform.M31);
                o.writeFloat(transform.M32);
            }
        }
コード例 #6
0
            public void Write(OutputBuffer o)
            {
                o.writeInt((int)TagType.DefineEditText);
                o.writeInt(16);

                o.writeInt(id);
                o.writeInt(unk1);
                o.writeInt(placeholderTextId);
                o.writeInt(unk2);
                o.writeInt(colorId);
                o.writeInt(unk3);
                o.writeInt(unk4);
                o.writeInt(unk5);
                o.writeShort((short)alignment);
                o.writeShort(unk6);
                o.writeInt(unk7);
                o.writeInt(unk8);
                o.writeFloat(size);
                o.writeInt(unk9);
                o.writeInt(unk10);
                o.writeInt(unk11);
                o.writeInt(unk12);
            }