示例#1
0
    public void Export(BlockSelectionPacker packer)
    {
        Point3 p;

        for (int i = 0; i < blocks.Count; i++)
        {
            p = blocks [i];
            packer.AddBlock(p.X, p.Y, p.Z);
        }
    }
示例#2
0
    public static BlockSelection Load(BlockSelectionPacker packer)
    {
        Point3[] positions = BlockSelectionPacker.ItemBlockPositions.LoadData(packer);
        Point3   c         = positions [0];

        for (int i = 1; i < positions.Length; i++)
        {
            c = (c + positions [i]) / 2;
        }
        return(new BlockSelection(c, positions));
    }
示例#3
0
 public static Point3[] LoadData(BlockSelectionPacker packer)
 {
     byte[] dataArray = Base64Decode(packer.GetItem(name).Value);
     System.IO.BinaryReader reader = new System.IO.BinaryReader(new System.IO.MemoryStream(dataArray));
     Point3[] result = new Point3[dataArray.Length * sizeof(int) / 3];
     for (int i = 0; i < result.Length; i++)
     {
         result [i].X = reader.ReadInt32();
         result [i].Y = reader.ReadInt32();
         result [i].Z = reader.ReadInt32();
     }
     return(result);
 }