Esempio n. 1
0
    public void DeSerialization()
    {
        string path = Application.dataPath + "/Config/map.bin";

        byte[]       bytes     = System.IO.File.ReadAllBytes(path);
        pkgWorldData worldData = new pkgWorldData();

        worldData.MergeFrom(bytes);
        x_add = worldData.XAdd / 1000.00f;
        z_add = worldData.ZAdd / 1000.00f;
        x_max = worldData.XMax;
        z_max = worldData.ZMax;

        for (int i = 0; i < x_max; i++)
        {
            for (int j = 0; j < z_max; j++)
            {
                items[i, j].state = 0;
            }
        }

        int x = 0, z = 0;

        for (int i = 0; i < worldData.Datas.Count; i++)
        {
            x = worldData.Datas[i].Position / 100;
            z = worldData.Datas[i].Position % 100;
            items[x, z].state = worldData.Datas[i].State;
        }
        //====
        DrawBox();
    }
Esempio n. 2
0
    public void Serialization()
    {
        pkgWorldData worldData = new pkgWorldData();

        worldData.XAdd = (int)(x_add * 1000);
        worldData.ZAdd = (int)(z_add * 1000);
        worldData.XMax = x_max;
        worldData.ZMax = z_max;
        for (int i = 0; i < x_max; i++)
        {
            for (int j = 0; j < z_max; j++)
            {
                if (items[i, j].state != 0)
                {
                    pkgCell pkgCell = new pkgCell();
                    pkgCell.Position = i * 100 + j;
                    pkgCell.State    = items[i, j].state;
                    worldData.Datas.Add(pkgCell);
                }
            }
        }
        byte[] bytes = worldData.ToByteArray();
        string path  = Application.dataPath + "/Config/map.bin";

        System.IO.File.WriteAllBytes(path, bytes);
    }