示例#1
0
 private bool Load()
 {
     if (File.Exists(Application.dataPath + "/blocks.txt"))
     {
         BlockGridSaveData data = JsonUtility.FromJson <BlockGridSaveData>(File.ReadAllText(Application.dataPath + "/blocks.txt"));
         for (int i = 0; i < data.blocks.Length; i++)
         {
             BlockType.GetBlockType(data.blocks[i].blockName).Place(GetWorldPosition(data.blocks[i].x, data.blocks[i].y), (Layer)data.blocks[i].z);
         }
         for (int i = 0; i < data.chests.Length; i++)
         {
             Chest chest = (Chest)BlockType.Chest.Place(GetWorldPosition(data.chests[i].x, data.chests[i].y), (Layer)data.chests[i].z);
             chest.Load(data.chests[i]);
         }
         for (int i = 0; i < data.furnaces.Length; i++)
         {
             Furnace furnace = (Furnace)BlockType.Furnace.Place(GetWorldPosition(data.furnaces[i].x, data.furnaces[i].y), (Layer)data.furnaces[i].z);
             furnace.Load(data.furnaces[i]);
         }
         for (int i = 0; i < data.stairs.Length; i++)
         {
             Stairs stairs = (Stairs)BlockType.GetBlockType(data.stairs[i].name).Place(GetWorldPosition(data.stairs[i].x, data.stairs[i].y), (Layer)data.stairs[i].z);
             stairs.Load(data.stairs[i]);
         }
         for (int i = 0; i < data.doors.Length; i++)
         {
             Door door = (Door)BlockType.Door.Place(GetWorldPosition(data.doors[i].x, data.doors[i].y), (Layer)data.doors[i].z);
             door.Load(data.doors[i]);
         }
         return(true);
     }
     return(false);
 }
示例#2
0
    private void Save()
    {
        BlockGridSaveData save = new BlockGridSaveData();

        for (int i = 0; i < width; i++)
        {
            for (int j = 0; j < height; j++)
            {
                for (int k = 0; k < 2; k++)
                {
                    if (gridArray[i, j, k] != null)
                    {
                        save.Add(gridArray[i, j, k], i, j, k);
                    }
                }
            }
        }
        save.Setup();
        File.WriteAllText(Application.dataPath + "/blocks.txt", JsonUtility.ToJson(save));
    }