Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Loading From Files Error???

Discussion in 'Scripting' started by thommoboy, Nov 22, 2013.

  1. thommoboy

    thommoboy

    Joined:
    Jul 20, 2012
    Posts:
    59
    Hey i'm trying to save and load blocks from an .xml file(Well my version is .nps) ive got the saving done perfectly but when loading the second chunk of blocks i get an error that says:

    Code (csharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. SaveWorld.LoadSave () (at Assets/Scripts/Save/SaveWorld.cs:296)
    3. SaveWorld.Start () (at Assets/Scripts/Save/SaveWorld.cs:28)
    Here is my code:

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using System.Xml;
    4. using System.Xml.Serialization;
    5. using System.IO;
    6. using System.Text;
    7.  
    8. public class SaveWorld : MonoBehaviour
    9. {
    10.     public Transform World;
    11.     public GameObject BedrockBlock;
    12.     public GameObject StoneBlock;
    13.     public GameObject DirtBlock;
    14.     public GameObject GrassBlock;
    15.    
    16.     public Transform Layer0;
    17.     public Transform Layer1;
    18.     public Transform Layer2;
    19.     public Transform Layer3;
    20.     public Transform Layer4;
    21.     public Transform Layer5;
    22.     public Transform Layer6;
    23.     public Transform Layer7;
    24.     public Transform Layer8;
    25.    
    26.     void Start()
    27.     {
    28.         LoadSave();
    29.     }
    30.    
    31.     void Update()
    32.     {
    33.         if(Input.GetKeyDown(KeyCode.F))
    34.         {
    35.             Save();
    36.         }
    37.     }
    38.    
    39.     public void Save()
    40.     {
    41.         #region Variables
    42.         int num = 0;
    43.         StreamWriter writer;
    44.         FileInfo Custom = new FileInfo(Application.dataPath +"\\"+ "Custom.nps");
    45.         FileInfo One = new FileInfo(Application.dataPath +"\\"+ "1.nps");
    46.         FileInfo Two = new FileInfo(Application.dataPath +"\\"+ "2.nps");
    47.         FileInfo Three = new FileInfo(Application.dataPath +"\\"+ "3.nps");
    48.         FileInfo Four = new FileInfo(Application.dataPath +"\\"+ "4.nps");
    49.         FileInfo Five = new FileInfo(Application.dataPath +"\\"+ "5.nps");
    50.         FileInfo Six = new FileInfo(Application.dataPath +"\\"+ "6.nps");
    51.         FileInfo Seven = new FileInfo(Application.dataPath +"\\"+ "7.nps");
    52.         FileInfo Eight = new FileInfo(Application.dataPath +"\\"+ "8.nps");
    53.         FileInfo g = new FileInfo(Application.dataPath + "\\" + "Count.nps");
    54.         #endregion
    55.        
    56.         #region Count
    57.         if(!g.Exists)
    58.         {
    59.            writer = g.CreateText();
    60.         }
    61.         else
    62.         {
    63.            g.Delete();
    64.            writer = g.CreateText();
    65.         }
    66.        
    67.         for(int cnt = 0; cnt < World.childCount; cnt++)
    68.         {
    69.             for(int x = 0; x < World.GetChild(cnt).childCount; x++)
    70.             {
    71.                 num = x;
    72.             }
    73.         }
    74.         writer.WriteLine("<count='" + num + "'/>");
    75.         writer.Close();
    76.         #endregion
    77.        
    78.         #region Custom Blocks
    79.         //Write Bedrock Blocks:
    80.         if(!Custom.Exists)
    81.         {
    82.            writer = Custom.CreateText();
    83.         }
    84.         else
    85.         {
    86.            Custom.Delete();
    87.            writer = Custom.CreateText();
    88.         }
    89.        
    90.         Debug.Log("Saving Layer " + World.GetChild(2).name);
    91.  
    92.         for(int x = 0; x < World.GetChild(2).childCount; x++)
    93.         {
    94.             writer.WriteLine("block='" + World.GetChild(2).GetChild(x).name + "' x='" + World.GetChild(2).GetChild(x).position.x + "' y='" + World.GetChild(2).GetChild(x).position.y + "' z='" + World.GetChild(2).GetChild(x).position.z + "'");
    95.         }
    96.         writer.Close();
    97.         #endregion
    98.  
    99.         #region Bedrock
    100.         //Write Bedrock Blocks:
    101.         if(!One.Exists)
    102.         {
    103.            writer = One.CreateText();
    104.         }
    105.         else
    106.         {
    107.            One.Delete();
    108.            writer = One.CreateText();
    109.         }
    110.        
    111.         Debug.Log("Saving Layer " + World.GetChild(6).name);
    112.        
    113.         for(int x = 0; x < World.GetChild(6).childCount; x++)
    114.         {
    115.             writer.WriteLine("block='" + World.GetChild(6).GetChild(x).name + "' x='" + World.GetChild(6).GetChild(x).position.x + "' y='" + World.GetChild(6).GetChild(x).position.y + "' z='" + World.GetChild(6).GetChild(x).position.z + "'");
    116.         }
    117.        
    118.         writer.Close();
    119.         #endregion
    120.        
    121.         #region Stone One
    122.         //Write Stone One Blocks:
    123.         if(!Two.Exists)
    124.         {
    125.            writer = Two.CreateText();
    126.         }
    127.         else
    128.         {
    129.            Two.Delete();
    130.            writer = Two.CreateText();
    131.         }
    132.        
    133.         Debug.Log("Saving Layer " + World.GetChild(0).name);
    134.  
    135.         for(int x = 0; x < World.GetChild(0).childCount; x++)
    136.         {
    137.             writer.WriteLine("block='" + World.GetChild(0).GetChild(x).name + "' x='" + World.GetChild(0).GetChild(x).position.x + "' y='" + World.GetChild(0).GetChild(x).position.y + "' z='" + World.GetChild(0).GetChild(x).position.z + "'");
    138.         }
    139.         writer.Close();
    140.         #endregion
    141.        
    142.         #region Stone Two
    143.         //Write Stone Two Blocks:
    144.         if(!Three.Exists)
    145.         {
    146.            writer = Three.CreateText();
    147.         }
    148.         else
    149.         {
    150.            Three.Delete();
    151.            writer = Three.CreateText();
    152.         }
    153.        
    154.         Debug.Log("Saving Layer " + World.GetChild(1).name);
    155.  
    156.         for(int x = 0; x < World.GetChild(1).childCount; x++)
    157.         {
    158.             writer.WriteLine("block='" + World.GetChild(1).GetChild(x).name + "' x='" + World.GetChild(1).GetChild(x).position.x + "' y='" + World.GetChild(1).GetChild(x).position.y + "' z='" + World.GetChild(1).GetChild(x).position.z + "'");
    159.         }
    160.  
    161.         writer.Close();
    162.         #endregion
    163.        
    164.         #region Stone Three
    165.         //Write Stone Three Blocks:
    166.         if(!Four.Exists)
    167.         {
    168.            writer = Four.CreateText();
    169.         }
    170.         else
    171.         {
    172.            Four.Delete();
    173.            writer = Four.CreateText();
    174.         }
    175.        
    176.         Debug.Log("Saving Layer " + World.GetChild(3).name);
    177.        
    178.         for(int x = 0; x < World.GetChild(3).childCount; x++)
    179.         {
    180.             writer.WriteLine("block='" + World.GetChild(3).GetChild(x).name + "' x='" + World.GetChild(3).GetChild(x).position.x + "' y='" + World.GetChild(3).GetChild(x).position.y + "' z='" + World.GetChild(3).GetChild(x).position.z + "'");
    181.         }
    182.         writer.Close();
    183.         #endregion
    184.        
    185.         #region Stone Four
    186.         //Write Stone Three Blocks:
    187.         if(!Five.Exists)
    188.         {
    189.            writer = Five.CreateText();
    190.         }
    191.         else
    192.         {
    193.            Five.Delete();
    194.            writer = Five.CreateText();
    195.         }
    196.         Debug.Log("Saving Layer " + World.GetChild(4).name);
    197.         for(int x = 0; x < World.GetChild(4).childCount; x++)
    198.         {
    199.             writer.WriteLine("block='" + World.GetChild(4).GetChild(x).name + "' x='" + World.GetChild(4).GetChild(x).position.x + "' y='" + World.GetChild(4).GetChild(x).position.y + "' z='" + World.GetChild(4).GetChild(x).position.z + "'");
    200.         }
    201.         writer.Close();
    202.         #endregion
    203.        
    204.         #region Dirt One
    205.         if(!Six.Exists)
    206.         {
    207.            writer = Six.CreateText();
    208.         }
    209.         else
    210.         {
    211.            Six.Delete();
    212.            writer = Six.CreateText();
    213.         }
    214.         Debug.Log("Saving Layer " + World.GetChild(5).name);
    215.         for(int x = 0; x < World.GetChild(5).childCount; x++)
    216.         {
    217.             writer.WriteLine("block='" + World.GetChild(5).GetChild(x).name + "' x='" + World.GetChild(5).GetChild(x).position.x + "' y='" + World.GetChild(5).GetChild(x).position.y + "' z='" + World.GetChild(5).GetChild(x).position.z + "'");
    218.         }
    219.         writer.Close();
    220.         #endregion
    221.        
    222.         #region Dirt Two
    223.         if(!Seven.Exists)
    224.         {
    225.            writer = Seven.CreateText();
    226.         }
    227.         else
    228.         {
    229.            Seven.Delete();
    230.            writer = Seven.CreateText();
    231.         }
    232.         Debug.Log("Saving Layer " + World.GetChild(7).name);
    233.         for(int x = 0; x < World.GetChild(7).childCount; x++)
    234.         {
    235.             writer.WriteLine("block='" + World.GetChild(7).GetChild(x).name + "' x='" + World.GetChild(7).GetChild(x).position.x + "' y='" + World.GetChild(7).GetChild(x).position.y + "' z='" + World.GetChild(7).GetChild(x).position.z + "'");
    236.         }
    237.         writer.Close();
    238.         #endregion
    239.        
    240.         #region Grass One
    241.         if(!Eight.Exists)
    242.         {
    243.            writer = Eight.CreateText();
    244.         }
    245.         else
    246.         {
    247.            Eight.Delete();
    248.            writer = Eight.CreateText();
    249.         }
    250.         Debug.Log("Saving Layer " + World.GetChild(8).name);
    251.         for(int x = 0; x < World.GetChild(8).childCount; x++)
    252.         {
    253.             writer.WriteLine("block='" + World.GetChild(8).GetChild(x).name + "' x='" + World.GetChild(8).GetChild(x).position.x + "' y='" + World.GetChild(8).GetChild(x).position.y + "' z='" + World.GetChild(8).GetChild(x).position.z + "'");
    254.         }
    255.         writer.Close();
    256.         #endregion
    257.     }
    258.    
    259.     public void LoadSave()
    260.     {
    261.         StreamReader reader = File.OpenText(Application.dataPath + "\\" + "Count.nps");
    262.         StreamReader One = File.OpenText(Application.dataPath + "\\" + "1.nps");
    263.         StreamReader Two = File.OpenText(Application.dataPath + "\\" + "2.nps");
    264.         StreamReader Three = File.OpenText(Application.dataPath + "\\" + "3.nps");
    265.         StreamReader Four = File.OpenText(Application.dataPath + "\\" + "4.nps");
    266.        
    267.         string[] stringSeparators = new string[] {"'"};
    268.  
    269.         int b = 564;
    270.         /*
    271.         string c = reader.ReadLine();
    272.         string[] g;
    273.         g = c.Split(stringSeparators, System.StringSplitOptions.None);
    274.         b = int.Parse(g[1]);
    275.         reader.Close();
    276.         */
    277.        
    278.         #region Read 1(Bedrock)
    279.         for(int con = 0; con < b; con++)
    280.         {
    281.             string[] d;
    282.             d = One.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
    283.             if(d[1] == "Trigger")
    284.             {
    285.                 GameObject TempBlock = Instantiate(BedrockBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    286.                 TempBlock.transform.parent = Layer1;
    287.             }
    288.         }
    289.         One.Close();
    290.         #endregion
    291.        
    292.         #region Read 2(Stone)
    293.         for(int con = 0; con < b; con++)
    294.         {
    295.             string[] d;
    296.             d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
    297.             if(d[1] == "StoneBlock")
    298.             {
    299.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    300.                 TempBlock.transform.parent = Layer2;
    301.             }
    302.         }
    303.         Two.Close();
    304.         #endregion
    305.        
    306.         #region Read 3(Stone)
    307.         for(int con = 0; con < b; con++)
    308.         {
    309.             string[] d;
    310.             d = Three.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);  
    311.             if(d[1] == "StoneBlock")
    312.             {
    313.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    314.                 TempBlock.transform.parent = Layer3;
    315.             }
    316.         }
    317.         Three.Close();
    318.         #endregion
    319.        
    320.         #region Read 4(Stone)
    321.         for(int con = 0; con < b; con++)
    322.         {
    323.             string[] d;
    324.             d = Four.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);   
    325.             if(d[1] == "StoneBlock")
    326.             {
    327.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    328.                 TempBlock.transform.parent = Layer4;
    329.             }
    330.         }
    331.         Four.Close();
    332.         #endregion
    333.     }
    334. }
    Thanks!
     
  2. THoeppner

    THoeppner

    Joined:
    Oct 10, 2012
    Posts:
    205
    The error message says that you try to use an uninitialized object in line 296 (the following line):

    Code (csharp):
    1.  
    2.  
    3. d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
    4.  
    5.  
    I'm thinking the StreamReader Two causes the error. Does your file 2.nps really exists and isn't blocked by another program?

    I just checked the MSDN: ReadLine returns null if it reaches the end of the file. You're reading for each file 564 lines and try to split them. If your file contains less than 564 lines the ReadLine method returns null and you get your exception.

    Don't read a fix number of lines from the file. Check instead the return value of ReadLine like in the following code:

    Code (csharp):
    1.  
    2.  
    3. string s = "";
    4. while ((s = Two.ReadLine()) != null)
    5. {
    6.     // Do something with s like splitting
    7. }
    8.  
    9.  
     
    Last edited: Nov 22, 2013
  3. thommoboy

    thommoboy

    Joined:
    Jul 20, 2012
    Posts:
    59
    It Works there is no more error But... now blocks are missing :/

    Here is the updated Code:

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using System.Xml;
    4. using System.Xml.Serialization;
    5. using System.IO;
    6. using System.Text;
    7.  
    8. public class SaveWorld : MonoBehaviour
    9. {
    10.     public bool Load = false;
    11.    
    12.     public Transform World;
    13.     public GameObject BedrockBlock;
    14.     public GameObject StoneBlock;
    15.     public GameObject DirtBlock;
    16.     public GameObject GrassBlock;
    17.    
    18.     public Transform Layer0;
    19.     public Transform Layer1;
    20.     public Transform Layer2;
    21.     public Transform Layer3;
    22.     public Transform Layer4;
    23.     public Transform Layer5;
    24.     public Transform Layer6;
    25.     public Transform Layer7;
    26.     public Transform Layer8;
    27.    
    28.     void Start()
    29.     {
    30.         if(Load)
    31.             LoadSave();
    32.     }
    33.    
    34.     void Update()
    35.     {
    36.         if(Input.GetKeyDown(KeyCode.F))
    37.         {
    38.             Save();
    39.         }
    40.     }
    41.    
    42.     public void Save()
    43.     {
    44.         #region Variables
    45.         int num = 0;
    46.         StreamWriter writer;
    47.         FileInfo Custom = new FileInfo(Application.dataPath +"\\"+ "Custom.nps");
    48.         FileInfo One = new FileInfo(Application.dataPath +"\\"+ "1.nps");
    49.         FileInfo Two = new FileInfo(Application.dataPath +"\\"+ "2.nps");
    50.         FileInfo Three = new FileInfo(Application.dataPath +"\\"+ "3.nps");
    51.         FileInfo Four = new FileInfo(Application.dataPath +"\\"+ "4.nps");
    52.         FileInfo Five = new FileInfo(Application.dataPath +"\\"+ "5.nps");
    53.         FileInfo Six = new FileInfo(Application.dataPath +"\\"+ "6.nps");
    54.         FileInfo Seven = new FileInfo(Application.dataPath +"\\"+ "7.nps");
    55.         FileInfo Eight = new FileInfo(Application.dataPath +"\\"+ "8.nps");
    56.         FileInfo g = new FileInfo(Application.dataPath + "\\" + "Count.nps");
    57.         #endregion
    58.        
    59.         #region Count
    60.         if(!g.Exists)
    61.         {
    62.            writer = g.CreateText();
    63.         }
    64.         else
    65.         {
    66.            g.Delete();
    67.            writer = g.CreateText();
    68.         }
    69.        
    70.         for(int cnt = 0; cnt < World.childCount; cnt++)
    71.         {
    72.             for(int x = 0; x < World.GetChild(cnt).childCount; x++)
    73.             {
    74.                 num = x;
    75.             }
    76.         }
    77.         writer.WriteLine("<count='" + num + "'/>");
    78.         writer.Close();
    79.         #endregion
    80.        
    81.         #region Custom Blocks
    82.         //Write Custom Blocks:
    83.         if(!Custom.Exists)
    84.         {
    85.            writer = Custom.CreateText();
    86.         }
    87.         else
    88.         {
    89.            Custom.Delete();
    90.            writer = Custom.CreateText();
    91.         }
    92.        
    93.         Debug.Log("Saving Layer " + World.GetChild(2).name);
    94.  
    95.         for(int x = 0; x < World.GetChild(2).childCount; x++)
    96.         {
    97.             writer.WriteLine("block='" + World.GetChild(2).GetChild(x).name + "' x='" + World.GetChild(2).GetChild(x).position.x + "' y='" + World.GetChild(2).GetChild(x).position.y + "' z='" + World.GetChild(2).GetChild(x).position.z + "'");
    98.         }
    99.         writer.Close();
    100.         #endregion
    101.  
    102.         #region Bedrock
    103.         //Write Bedrock Blocks:
    104.         if(!One.Exists)
    105.         {
    106.            writer = One.CreateText();
    107.         }
    108.         else
    109.         {
    110.            One.Delete();
    111.            writer = One.CreateText();
    112.         }
    113.        
    114.         Debug.Log("Saving Layer " + World.GetChild(6).name);
    115.        
    116.         for(int x = 0; x < World.GetChild(6).childCount; x++)
    117.         {
    118.             writer.WriteLine("block='" + World.GetChild(6).GetChild(x).name + "' x='" + World.GetChild(6).GetChild(x).position.x + "' y='" + World.GetChild(6).GetChild(x).position.y + "' z='" + World.GetChild(6).GetChild(x).position.z + "'");
    119.         }
    120.        
    121.         writer.Close();
    122.         #endregion
    123.        
    124.         #region Stone One
    125.         //Write Stone One Blocks:
    126.         if(!Two.Exists)
    127.         {
    128.            writer = Two.CreateText();
    129.         }
    130.         else
    131.         {
    132.            Two.Delete();
    133.            writer = Two.CreateText();
    134.         }
    135.        
    136.         Debug.Log("Saving Layer " + World.GetChild(0).name);
    137.  
    138.         for(int x = 0; x < World.GetChild(0).childCount; x++)
    139.         {
    140.             writer.WriteLine("block='" + World.GetChild(0).GetChild(x).name + "' x='" + World.GetChild(0).GetChild(x).position.x + "' y='" + World.GetChild(0).GetChild(x).position.y + "' z='" + World.GetChild(0).GetChild(x).position.z + "'");
    141.         }
    142.         writer.Close();
    143.         #endregion
    144.        
    145.         #region Stone Two
    146.         //Write Stone Two Blocks:
    147.         if(!Three.Exists)
    148.         {
    149.            writer = Three.CreateText();
    150.         }
    151.         else
    152.         {
    153.            Three.Delete();
    154.            writer = Three.CreateText();
    155.         }
    156.        
    157.         Debug.Log("Saving Layer " + World.GetChild(1).name);
    158.  
    159.         for(int x = 0; x < World.GetChild(1).childCount; x++)
    160.         {
    161.             writer.WriteLine("block='" + World.GetChild(1).GetChild(x).name + "' x='" + World.GetChild(1).GetChild(x).position.x + "' y='" + World.GetChild(1).GetChild(x).position.y + "' z='" + World.GetChild(1).GetChild(x).position.z + "'");
    162.         }
    163.  
    164.         writer.Close();
    165.         #endregion
    166.        
    167.         #region Stone Three
    168.         //Write Stone Three Blocks:
    169.         if(!Four.Exists)
    170.         {
    171.            writer = Four.CreateText();
    172.         }
    173.         else
    174.         {
    175.            Four.Delete();
    176.            writer = Four.CreateText();
    177.         }
    178.        
    179.         Debug.Log("Saving Layer " + World.GetChild(3).name);
    180.        
    181.         for(int x = 0; x < World.GetChild(3).childCount; x++)
    182.         {
    183.             writer.WriteLine("block='" + World.GetChild(3).GetChild(x).name + "' x='" + World.GetChild(3).GetChild(x).position.x + "' y='" + World.GetChild(3).GetChild(x).position.y + "' z='" + World.GetChild(3).GetChild(x).position.z + "'");
    184.         }
    185.         writer.Close();
    186.         #endregion
    187.        
    188.         #region Stone Four
    189.         //Write Stone Three Blocks:
    190.         if(!Five.Exists)
    191.         {
    192.            writer = Five.CreateText();
    193.         }
    194.         else
    195.         {
    196.            Five.Delete();
    197.            writer = Five.CreateText();
    198.         }
    199.         Debug.Log("Saving Layer " + World.GetChild(4).name);
    200.         for(int x = 0; x < World.GetChild(4).childCount; x++)
    201.         {
    202.             writer.WriteLine("block='" + World.GetChild(4).GetChild(x).name + "' x='" + World.GetChild(4).GetChild(x).position.x + "' y='" + World.GetChild(4).GetChild(x).position.y + "' z='" + World.GetChild(4).GetChild(x).position.z + "'");
    203.         }
    204.         writer.Close();
    205.         #endregion
    206.        
    207.         #region Dirt One
    208.         if(!Six.Exists)
    209.         {
    210.            writer = Six.CreateText();
    211.         }
    212.         else
    213.         {
    214.            Six.Delete();
    215.            writer = Six.CreateText();
    216.         }
    217.         Debug.Log("Saving Layer " + World.GetChild(5).name);
    218.         for(int x = 0; x < World.GetChild(5).childCount; x++)
    219.         {
    220.             writer.WriteLine("block='" + World.GetChild(5).GetChild(x).name + "' x='" + World.GetChild(5).GetChild(x).position.x + "' y='" + World.GetChild(5).GetChild(x).position.y + "' z='" + World.GetChild(5).GetChild(x).position.z + "'");
    221.         }
    222.         writer.Close();
    223.         #endregion
    224.        
    225.         #region Dirt Two
    226.         if(!Seven.Exists)
    227.         {
    228.            writer = Seven.CreateText();
    229.         }
    230.         else
    231.         {
    232.            Seven.Delete();
    233.            writer = Seven.CreateText();
    234.         }
    235.         Debug.Log("Saving Layer " + World.GetChild(7).name);
    236.         for(int x = 0; x < World.GetChild(7).childCount; x++)
    237.         {
    238.             writer.WriteLine("block='" + World.GetChild(7).GetChild(x).name + "' x='" + World.GetChild(7).GetChild(x).position.x + "' y='" + World.GetChild(7).GetChild(x).position.y + "' z='" + World.GetChild(7).GetChild(x).position.z + "'");
    239.         }
    240.         writer.Close();
    241.         #endregion
    242.        
    243.         #region Grass One
    244.         if(!Eight.Exists)
    245.         {
    246.            writer = Eight.CreateText();
    247.         }
    248.         else
    249.         {
    250.            Eight.Delete();
    251.            writer = Eight.CreateText();
    252.         }
    253.         Debug.Log("Saving Layer " + World.GetChild(8).name);
    254.         for(int x = 0; x < World.GetChild(8).childCount; x++)
    255.         {
    256.             writer.WriteLine("block='" + World.GetChild(8).GetChild(x).name + "' x='" + World.GetChild(8).GetChild(x).position.x + "' y='" + World.GetChild(8).GetChild(x).position.y + "' z='" + World.GetChild(8).GetChild(x).position.z + "'");
    257.         }
    258.         writer.Close();
    259.         #endregion
    260.     }
    261.    
    262.     public void LoadSave()
    263.     {
    264.         StreamReader reader = File.OpenText(Application.dataPath + "\\" + "Count.nps");
    265.         StreamReader One = File.OpenText(Application.dataPath + "\\" + "1.nps");
    266.         StreamReader Two = File.OpenText(Application.dataPath + "\\" + "2.nps");
    267.         StreamReader Three = File.OpenText(Application.dataPath + "\\" + "3.nps");
    268.         StreamReader Four = File.OpenText(Application.dataPath + "\\" + "4.nps");
    269.        
    270.         string[] stringSeparators = new string[] {"'"};
    271.        
    272.         #region Read 1(Bedrock)
    273.         string s = "";
    274.         while((s = One.ReadLine()) != null)
    275.         {
    276.             string[] d;
    277.             d = One.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
    278.             if(d[1] == "Trigger")
    279.             {
    280.                 GameObject TempBlock = Instantiate(BedrockBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    281.                 TempBlock.transform.parent = Layer1;
    282.             }
    283.         }
    284.         One.Close();
    285.         #endregion
    286.        
    287.         #region Read 2(Stone)
    288.         while((s = Two.ReadLine()) != null)
    289.         {
    290.             string[] d;
    291.             d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
    292.             if(d[1] == "StoneBlock")
    293.             {
    294.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    295.                 TempBlock.transform.parent = Layer2;
    296.             }
    297.         }
    298.         Two.Close();
    299.         #endregion
    300.        
    301.         #region Read 3(Stone)
    302.         while((s = Three.ReadLine()) != null)
    303.         {
    304.             string[] d;
    305.             d = Three.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);  
    306.             if(d[1] == "StoneBlock")
    307.             {
    308.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    309.                 TempBlock.transform.parent = Layer3;
    310.             }
    311.         }
    312.         Three.Close();
    313.         #endregion
    314.        
    315.         #region Read 4(Stone)
    316.         while((s = Four.ReadLine()) != null)
    317.         {
    318.             string[] d;
    319.             d = Four.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);   
    320.             if(d[1] == "StoneBlock")
    321.             {
    322.                 GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    323.                 TempBlock.transform.parent = Layer4;
    324.             }
    325.         }
    326.         Four.Close();
    327.         #endregion
    328.     }
    329. }
    just incase here are one of the .nps files:

    Code (csharp):
    1. block='Trigger' x='16' y='0' z='17'
    2. block='Trigger' x='9.999999' y='0' z='19'
    3. block='Trigger' x='3.999999' y='0' z='1'
    4. block='Trigger' x='9.999999' y='0' z='11'
    5. block='Trigger' x='6.999999' y='0' z='1'
    6. block='Trigger' x='6.999999' y='0' z='8'
    7. block='Trigger' x='19' y='0' z='14'
    8. block='Trigger' x='7.999999' y='0' z='6'
    9. block='Trigger' x='13' y='0' z='18.00001'
    10. block='Trigger' x='15' y='0' z='3'
    11. block='Trigger' x='22' y='0' z='22'
    12. block='Trigger' x='20' y='0' z='11'
    13. block='Trigger' x='14' y='0' z='5'
    14. block='Trigger' x='3.999999' y='0' z='4'
    15. block='Trigger' x='2.999999' y='0' z='20'
    16. block='Trigger' x='23' y='0' z='20'
    17. block='Trigger' x='3.999999' y='0' z='14'
    18. block='Trigger' x='3.999999' y='0' z='7'
    19. block='Trigger' x='23' y='0' z='10'
    20. block='Trigger' x='20' y='0' z='21'
    21. block='Trigger' x='11' y='0' z='1'
    22. block='Trigger' x='4.999999' y='0' z='0'
    23. block='Trigger' x='5.999999' y='0' z='13'
    24. block='Trigger' x='21' y='0' z='11'
    25. block='Trigger' x='3.999999' y='0' z='0'
    26. block='Trigger' x='12' y='0' z='11'
    27. block='Trigger' x='17' y='0' z='13'
    28. block='Trigger' x='3.999999' y='0' z='3'
    29. block='Trigger' x='12' y='0' z='7'
    30. block='Trigger' x='16' y='0' z='10'
    31. block='Trigger' x='13' y='0' z='23'
    32. block='Trigger' x='17' y='0' z='16'
    33. block='Trigger' x='16' y='0' z='19'
    34. block='Trigger' x='13' y='0' z='14'
    35. block='Trigger' x='23' y='0' z='14'
    36. block='Trigger' x='23' y='0' z='12'
    37. block='Trigger' x='12' y='0' z='12'
    38. block='Trigger' x='7.999999' y='0' z='19'
    39. block='Trigger' x='16' y='0' z='21'
    40. block='Trigger' x='12' y='0' z='21'
    41. block='Trigger' x='8.999999' y='0' z='6'
    42. block='Trigger' x='15' y='0' z='7'
    43. block='Trigger' x='13' y='0' z='1'
    44. block='Trigger' x='4.999999' y='0' z='10'
    45. block='Trigger' x='1' y='0' z='2'
    46. block='Trigger' x='8.999999' y='0' z='23'
    47. block='Trigger' x='14' y='0' z='17'
    48. block='Trigger' x='15' y='0' z='1'
    49. block='Trigger' x='7.999999' y='0' z='14'
    50. block='Trigger' x='11' y='0' z='8'
    51. block='Trigger' x='1' y='0' z='5'
    52. block='Trigger' x='19' y='0' z='3'
    53. block='Trigger' x='4.999999' y='0' z='4'
    54. block='Trigger' x='1.999999' y='0' z='14'
    55. block='Trigger' x='16' y='0' z='14'
    56. block='Trigger' x='1.999999' y='0' z='0'
    57. block='Trigger' x='23' y='0' z='16'
    58. block='Trigger' x='7.999999' y='0' z='2'
    59. block='Trigger' x='15' y='0' z='16'
    60. block='Trigger' x='1' y='0' z='3'
    61. block='Trigger' x='0' y='0' z='14'
    62. block='Trigger' x='1.999999' y='0' z='1'
    63. block='Trigger' x='23' y='0' z='19'
    64. block='Trigger' x='1.999999' y='0' z='15'
    65. block='Trigger' x='1.999999' y='0' z='12'
    66. block='Trigger' x='0' y='0' z='4'
    67. block='Trigger' x='13' y='0' z='3'
    68. block='Trigger' x='14' y='0' z='18.00001'
    69. block='Trigger' x='17' y='0' z='11'
    70. block='Trigger' x='7.999999' y='0' z='0'
    71. block='Trigger' x='18' y='0' z='4'
    72. block='Trigger' x='7.999999' y='0' z='10'
    73. block='Trigger' x='18' y='0' z='23'
    74. block='Trigger' x='0' y='0' z='0'
    75. block='Trigger' x='22' y='0' z='6'
    76. block='Trigger' x='6.999999' y='0' z='21'
    77. block='Trigger' x='0' y='0' z='9.000002'
    78. block='Trigger' x='5.999999' y='0' z='19'
    79. block='Trigger' x='13' y='0' z='20'
    80. block='Trigger' x='14' y='0' z='6'
    81. block='Trigger' x='22' y='0' z='9.000002'
    82. block='Trigger' x='9.999999' y='0' z='16'
    83. block='Trigger' x='5.999999' y='0' z='12'
    84. block='Trigger' x='22' y='0' z='20'
    85. block='Trigger' x='19' y='0' z='13'
    86. block='Trigger' x='9.999999' y='0' z='4'
    87. block='Trigger' x='23' y='0' z='2'
    88. block='Trigger' x='15' y='0' z='0'
    89. block='Trigger' x='22' y='0' z='8'
    90. block='Trigger' x='13' y='0' z='4'
    91. block='Trigger' x='22' y='0' z='15'
    92. block='Trigger' x='15' y='0' z='17'
    93. block='Trigger' x='14' y='0' z='3'
    94. block='Trigger' x='2.999999' y='0' z='10'
    95. block='Trigger' x='11' y='0' z='17'
    96. block='Trigger' x='1.999999' y='0' z='18.00001'
    97. block='Trigger' x='14' y='0' z='4'
    98. block='Trigger' x='9.999999' y='0' z='13'
    99. block='Trigger' x='15' y='0' z='14'
    100. block='Trigger' x='16' y='0' z='8'
    101. block='Trigger' x='15' y='0' z='8'
    102. block='Trigger' x='11' y='0' z='6'
    103. block='Trigger' x='2.999999' y='0' z='11'
    104. block='Trigger' x='13' y='0' z='8'
    105. block='Trigger' x='5.999999' y='0' z='0'
    106. block='Trigger' x='7.999999' y='0' z='9.000002'
    107. block='Trigger' x='13' y='0' z='2'
    108. block='Trigger' x='6.999999' y='0' z='4'
    109. block='Trigger' x='20' y='0' z='10'
    110. block='Trigger' x='1' y='0' z='9.000002'
    111. block='Trigger' x='19' y='0' z='0'
    112. block='Trigger' x='2.999999' y='0' z='16'
    113. block='Trigger' x='4.999999' y='0' z='2'
    114. block='Trigger' x='3.999999' y='0' z='21'
    115. block='Trigger' x='7.999999' y='0' z='20'
    116. block='Trigger' x='2.999999' y='0' z='19'
    117. block='Trigger' x='18' y='0' z='15'
    118. block='Trigger' x='6.999999' y='0' z='6'
    119. block='Trigger' x='9.999999' y='0' z='6'
    120. block='Trigger' x='5.999999' y='0' z='16'
    121. block='Trigger' x='15' y='0' z='21'
    122. block='Trigger' x='18' y='0' z='18.00001'
    123. block='Trigger' x='15' y='0' z='6'
    124. block='Trigger' x='14' y='0' z='14'
    125. block='Trigger' x='14' y='0' z='10'
    126. block='Trigger' x='11' y='0' z='11'
    127. block='Trigger' x='18' y='0' z='12'
    128. block='Trigger' x='14' y='0' z='23'
    129. block='Trigger' x='16' y='0' z='22'
    130. block='Trigger' x='16' y='0' z='23'
    131. block='Trigger' x='8.999999' y='0' z='5'
    132. block='Trigger' x='14' y='0' z='2'
    133. block='Trigger' x='21' y='0' z='3'
    134. block='Trigger' x='7.999999' y='0' z='1'
    135. block='Trigger' x='1' y='0' z='23'
    136. block='Trigger' x='11' y='0' z='16'
    137. block='Trigger' x='23' y='0' z='18.00001'
    138. block='Trigger' x='4.999999' y='0' z='21'
    139. block='Trigger' x='0' y='0' z='13'
    140. block='Trigger' x='19' y='0' z='20'
    141. block='Trigger' x='2.999999' y='0' z='17'
    142. block='Trigger' x='4.999999' y='0' z='11'
    143. block='Trigger' x='12' y='0' z='15'
    144. block='Trigger' x='3.999999' y='0' z='15'
    145. block='Trigger' x='0' y='0' z='6'
    146. block='Trigger' x='2.999999' y='0' z='0'
    147. block='Trigger' x='8.999999' y='0' z='0'
    148. block='Trigger' x='23' y='0' z='9.000002'
    149. block='Trigger' x='13' y='0' z='21'
    150. block='Trigger' x='20' y='0' z='13'
    151. block='Trigger' x='13' y='0' z='15'
    152. block='Trigger' x='0' y='0' z='1'
    153. block='Trigger' x='18' y='0' z='3'
    154. block='Trigger' x='11' y='0' z='21'
    155. block='Trigger' x='20' y='0' z='9.000002'
    156. block='Trigger' x='17' y='0' z='18.00001'
    157. block='Trigger' x='12' y='0' z='2'
    158. block='Trigger' x='12' y='0' z='13'
    159. block='Trigger' x='21' y='0' z='1'
    160. block='Trigger' x='3.999999' y='0' z='2'
    161. block='Trigger' x='1.999999' y='0' z='21'
    162. block='Trigger' x='1.999999' y='0' z='22'
    163. block='Trigger' x='15' y='0' z='13'
    164. block='Trigger' x='22' y='0' z='11'
    165. block='Trigger' x='17' y='0' z='22'
    166. block='Trigger' x='8.999999' y='0' z='20'
    167. block='Trigger' x='8.999999' y='0' z='17'
    168. block='Trigger' x='3.999999' y='0' z='17'
    169. block='Trigger' x='11' y='0' z='12'
    170. block='Trigger' x='6.999999' y='0' z='14'
    171. block='Trigger' x='3.999999' y='0' z='22'
    172. block='Trigger' x='2.999999' y='0' z='8'
    173. block='Trigger' x='13' y='0' z='5'
    174. block='Trigger' x='13' y='0' z='17'
    175. block='Trigger' x='0' y='0' z='10'
    176. block='Trigger' x='7.999999' y='0' z='15'
    177. block='Trigger' x='11' y='0' z='20'
    178. block='Trigger' x='17' y='0' z='0'
    179. block='Trigger' x='0' y='0' z='7'
    180. block='Trigger' x='23' y='0' z='6'
    181. block='Trigger' x='15' y='0' z='23'
    182. block='Trigger' x='0' y='0' z='19'
    183. block='Trigger' x='13' y='0' z='9.000002'
    184. block='Trigger' x='16' y='0' z='7'
    185. block='Trigger' x='9.999999' y='0' z='2'
    186. block='Trigger' x='7.999999' y='0' z='23'
    187. block='Trigger' x='20' y='0' z='8'
    188. block='Trigger' x='8.999999' y='0' z='18.00001'
    189. block='Trigger' x='6.999999' y='0' z='18.00001'
    190. block='Trigger' x='21' y='0' z='17'
    191. block='Trigger' x='19' y='0' z='7'
    192. block='Trigger' x='6.999999' y='0' z='20'
    193. block='Trigger' x='3.999999' y='0' z='23'
    194. block='Trigger' x='15' y='0' z='9.000002'
    195. block='Trigger' x='11' y='0' z='15'
    196. block='Trigger' x='5.999999' y='0' z='22'
    197. block='Trigger' x='11' y='0' z='5'
    198. block='Trigger' x='4.999999' y='0' z='22'
    199. block='Trigger' x='4.999999' y='0' z='14'
    200. block='Trigger' x='8.999999' y='0' z='16'
    201. block='Trigger' x='4.999999' y='0' z='3'
    202. block='Trigger' x='4.999999' y='0' z='1'
    203. block='Trigger' x='12' y='0' z='1'
    204. block='Trigger' x='9.999999' y='0' z='3'
    205. block='Trigger' x='21' y='0' z='0'
    206. block='Trigger' x='1' y='0' z='0'
    207. block='Trigger' x='12' y='0' z='6'
    208. block='Trigger' x='9.999999' y='0' z='23'
    209. block='Trigger' x='9.999999' y='0' z='14'
    210. block='Trigger' x='15' y='0' z='20'
    211. block='Trigger' x='18' y='0' z='7'
    212. block='Trigger' x='16' y='0' z='15'
    213. block='Trigger' x='6.999999' y='0' z='7'
    214. block='Trigger' x='0' y='0' z='12'
    215. block='Trigger' x='1' y='0' z='13'
    216. block='Trigger' x='13' y='0' z='16'
    217. block='Trigger' x='15' y='0' z='18.00001'
    218. block='Trigger' x='4.999999' y='0' z='18.00001'
    219. block='Trigger' x='21' y='0' z='9.000002'
    220. block='Trigger' x='8.999999' y='0' z='22'
    221. block='Trigger' x='22' y='0' z='12'
    222. block='Trigger' x='16' y='0' z='6'
    223. block='Trigger' x='16' y='0' z='16'
    224. block='Trigger' x='9.999999' y='0' z='20'
    225. block='Trigger' x='20' y='0' z='2'
    226. block='Trigger' x='17' y='0' z='8'
    227. block='Trigger' x='21' y='0' z='19'
    228. block='Trigger' x='20' y='0' z='18.00001'
    229. block='Trigger' x='7.999999' y='0' z='5'
    230. block='Trigger' x='11' y='0' z='4'
    231. block='Trigger' x='19' y='0' z='6'
    232. block='Trigger' x='1' y='0' z='12'
    233. block='Trigger' x='0' y='0' z='15'
    234. block='Trigger' x='22' y='0' z='18.00001'
    235. block='Trigger' x='21' y='0' z='14'
    236. block='Trigger' x='9.999999' y='0' z='9.000002'
    237. block='Trigger' x='17' y='0' z='7'
    238. block='Trigger' x='11' y='0' z='23'
    239. block='Trigger' x='15' y='0' z='2'
    240. block='Trigger' x='8.999999' y='0' z='21'
    241. block='Trigger' x='6.999999' y='0' z='12'
    242. block='Trigger' x='19' y='0' z='19'
    243. block='Trigger' x='20' y='0' z='16'
    244. block='Trigger' x='13' y='0' z='10'
    245. block='Trigger' x='12' y='0' z='4'
    246. block='Trigger' x='19' y='0' z='21'
    247. block='Trigger' x='12' y='0' z='16'
    248. block='Trigger' x='4.999999' y='0' z='15'
    249. block='Trigger' x='17' y='0' z='6'
    250. block='Trigger' x='23' y='0' z='11'
    251. block='Trigger' x='16' y='0' z='5'
    252. block='Trigger' x='7.999999' y='0' z='12'
    253. block='Trigger' x='17' y='0' z='20'
    254. block='Trigger' x='1' y='0' z='21'
    255. block='Trigger' x='4.999999' y='0' z='6'
    256. block='Trigger' x='17' y='0' z='4'
    257. block='Trigger' x='23' y='0' z='21'
    258. block='Trigger' x='17' y='0' z='19'
    259. block='Trigger' x='2.999999' y='0' z='23'
    260. block='Trigger' x='16' y='0' z='3'
    261. block='Trigger' x='20' y='0' z='7'
    262. block='Trigger' x='21' y='0' z='23'
    263. block='Trigger' x='11' y='0' z='10'
    264. block='Trigger' x='17' y='0' z='10'
    265. block='Trigger' x='11' y='0' z='7'
    266. block='Trigger' x='23' y='0' z='15'
    267. block='Trigger' x='14' y='0' z='0'
    268. block='Trigger' x='8.999999' y='0' z='9.000002'
    269. block='Trigger' x='22' y='0' z='4'
    270. block='Trigger' x='21' y='0' z='22'
    271. block='Trigger' x='5.999999' y='0' z='18.00001'
    272. block='Trigger' x='9.999999' y='0' z='0'
    273. block='Trigger' x='3.999999' y='0' z='16'
    274. block='Trigger' x='0' y='0' z='3'
    275. block='Trigger' x='1.999999' y='0' z='8'
    276. block='Trigger' x='11' y='0' z='22'
    277. block='Trigger' x='1' y='0' z='18.00001'
    278. block='Trigger' x='14' y='0' z='1'
    279. block='Trigger' x='17' y='0' z='3'
    280. block='Trigger' x='20' y='0' z='3'
    281. block='Trigger' x='4.999999' y='0' z='5'
    282. block='Trigger' x='23' y='0' z='8'
    283. block='Trigger' x='1.999999' y='0' z='6'
    284. block='Trigger' x='7.999999' y='0' z='18.00001'
    285. block='Trigger' x='20' y='0' z='6'
    286. block='Trigger' x='18' y='0' z='16'
    287. block='Trigger' x='17' y='0' z='9.000002'
    288. block='Trigger' x='4.999999' y='0' z='23'
    289. block='Trigger' x='9.999999' y='0' z='15'
    290. block='Trigger' x='15' y='0' z='5'
    291. block='Trigger' x='2.999999' y='0' z='18.00001'
    292. block='Trigger' x='11' y='0' z='3'
    293. block='Trigger' x='15' y='0' z='12'
    294. block='Trigger' x='6.999999' y='0' z='2'
    295. block='Trigger' x='19' y='0' z='5'
    296. block='Trigger' x='3.999999' y='0' z='5'
    297. block='Trigger' x='8.999999' y='0' z='10'
    298. block='Trigger' x='23' y='0' z='7'
    299. block='Trigger' x='1' y='0' z='15'
    300. block='Trigger' x='9.999999' y='0' z='10'
    301. block='Trigger' x='1.999999' y='0' z='9.000002'
    302. block='Trigger' x='17' y='0' z='21'
    303. block='Trigger' x='11' y='0' z='19'
    304. block='Trigger' x='18' y='0' z='19'
    305. block='Trigger' x='1.999999' y='0' z='3'
    306. block='Trigger' x='11' y='0' z='0'
    307. block='Trigger' x='15' y='0' z='19'
    308. block='Trigger' x='7.999999' y='0' z='4'
    309. block='Trigger' x='23' y='0' z='4'
    310. block='Trigger' x='1' y='0' z='8'
    311. block='Trigger' x='16' y='0' z='1'
    312. block='Trigger' x='1.999999' y='0' z='7'
    313. block='Trigger' x='18' y='0' z='14'
    314. block='Trigger' x='20' y='0' z='19'
    315. block='Trigger' x='20' y='0' z='17'
    316. block='Trigger' x='22' y='0' z='2'
    317. block='Trigger' x='19' y='0' z='23'
    318. block='Trigger' x='22' y='0' z='23'
    319. block='Trigger' x='14' y='0' z='20'
    320. block='Trigger' x='0' y='0' z='16'
    321. block='Trigger' x='2.999999' y='0' z='1'
    322. block='Trigger' x='16' y='0' z='4'
    323. block='Trigger' x='2.999999' y='0' z='21'
    324. block='Trigger' x='4.999999' y='0' z='16'
    325. block='Trigger' x='2.999999' y='0' z='22'
    326. block='Trigger' x='22' y='0' z='21'
    327. block='Trigger' x='6.999999' y='0' z='5'
    328. block='Trigger' x='12' y='0' z='20'
    329. block='Trigger' x='13' y='0' z='22'
    330. block='Trigger' x='21' y='0' z='2'
    331. block='Trigger' x='1' y='0' z='14'
    332. block='Trigger' x='13' y='0' z='13'
    333. block='Trigger' x='21' y='0' z='8'
    334. block='Trigger' x='20' y='0' z='4'
    335. block='Trigger' x='6.999999' y='0' z='0'
    336. block='Trigger' x='21' y='0' z='18.00001'
    337. block='Trigger' x='14' y='0' z='16'
    338. block='Trigger' x='3.999999' y='0' z='11'
    339. block='Trigger' x='14' y='0' z='9.000002'
    340. block='Trigger' x='13' y='0' z='11'
    341. block='Trigger' x='15' y='0' z='22'
    342. block='Trigger' x='14' y='0' z='13'
    343. block='Trigger' x='3.999999' y='0' z='20'
    344. block='Trigger' x='19' y='0' z='1'
    345. block='Trigger' x='23' y='0' z='1'
    346. block='Trigger' x='0' y='0' z='8'
    347. block='Trigger' x='14' y='0' z='7'
    348. block='Trigger' x='22' y='0' z='10'
    349. block='Trigger' x='15' y='0' z='10'
    350. block='Trigger' x='11' y='0' z='9.000002'
    351. block='Trigger' x='6.999999' y='0' z='23'
    352. block='Trigger' x='21' y='0' z='13'
    353. block='Trigger' x='16' y='0' z='18.00001'
    354. block='Trigger' x='18' y='0' z='0'
    355. block='Trigger' x='16' y='0' z='2'
    356. block='Trigger' x='14' y='0' z='15'
    357. block='Trigger' x='22' y='0' z='7'
    358. block='Trigger' x='7.999999' y='0' z='22'
    359. block='Trigger' x='1.999999' y='0' z='11'
    360. block='Trigger' x='14' y='0' z='22'
    361. block='Trigger' x='8.999999' y='0' z='8'
    362. block='Trigger' x='5.999999' y='0' z='5'
    363. block='Trigger' x='0' y='0' z='21'
    364. block='Trigger' x='1.999999' y='0' z='17'
    365. block='Trigger' x='12' y='0' z='23'
    366. block='Trigger' x='6.999999' y='0' z='22'
    367. block='Trigger' x='21' y='0' z='20'
    368. block='Trigger' x='17' y='0' z='17'
    369. block='Trigger' x='11' y='0' z='18.00001'
    370. block='Trigger' x='1.999999' y='0' z='19'
    371. block='Trigger' x='1.999999' y='0' z='2'
    372. block='Trigger' x='0' y='0' z='22'
    373. block='Trigger' x='7.999999' y='0' z='16'
    374. block='Trigger' x='0' y='0' z='5'
    375. block='Trigger' x='20' y='0' z='14'
    376. block='Trigger' x='8.999999' y='0' z='2'
    377. block='Trigger' x='16' y='0' z='11'
    378. block='Trigger' x='2.999999' y='0' z='4'
    379. block='Trigger' x='6.999999' y='0' z='16'
    380. block='Trigger' x='5.999999' y='0' z='15'
    381. block='Trigger' x='2.999999' y='0' z='3'
    382. block='Trigger' x='4.999999' y='0' z='12'
    383. block='Trigger' x='8.999999' y='0' z='11'
    384. block='Trigger' x='22' y='0' z='16'
    385. block='Trigger' x='18' y='0' z='1'
    386. block='Trigger' x='0' y='0' z='2'
    387. block='Trigger' x='19' y='0' z='18.00001'
    388. block='Trigger' x='2.999999' y='0' z='9.000002'
    389. block='Trigger' x='8.999999' y='0' z='14'
    390. block='Trigger' x='2.999999' y='0' z='2'
    391. block='Trigger' x='7.999999' y='0' z='7'
    392. block='Trigger' x='9.999999' y='0' z='5'
    393. block='Trigger' x='6.999999' y='0' z='9.000002'
    394. block='Trigger' x='23' y='0' z='3'
    395. block='Trigger' x='18' y='0' z='22'
    396. block='Trigger' x='8.999999' y='0' z='1'
    397. block='Trigger' x='22' y='0' z='13'
    398. block='Trigger' x='5.999999' y='0' z='4'
    399. block='Trigger' x='0' y='0' z='18.00001'
    400. block='Trigger' x='17' y='0' z='1'
    401. block='Trigger' x='8.999999' y='0' z='12'
    402. block='Trigger' x='19' y='0' z='8'
    403. block='Trigger' x='20' y='0' z='23'
    404. block='Trigger' x='9.999999' y='0' z='18.00001'
    405. block='Trigger' x='1' y='0' z='4'
    406. block='Trigger' x='20' y='0' z='20'
    407. block='Trigger' x='0' y='0' z='23'
    408. block='Trigger' x='0' y='0' z='17'
    409. block='Trigger' x='3.999999' y='0' z='13'
    410. block='Trigger' x='3.999999' y='0' z='19'
    411. block='Trigger' x='1' y='0' z='10'
    412. block='Trigger' x='20' y='0' z='5'
    413. block='Trigger' x='11' y='0' z='13'
    414. block='Trigger' x='1.999999' y='0' z='4'
    415. block='Trigger' x='22' y='0' z='3'
    416. block='Trigger' x='20' y='0' z='1'
    417. block='Trigger' x='5.999999' y='0' z='2'
    418. block='Trigger' x='9.999999' y='0' z='8'
    419. block='Trigger' x='18' y='0' z='13'
    420. block='Trigger' x='18' y='0' z='5'
    421. block='Trigger' x='19' y='0' z='4'
    422. block='Trigger' x='2.999999' y='0' z='6'
    423. block='Trigger' x='3.999999' y='0' z='9.000002'
    424. block='Trigger' x='6.999999' y='0' z='17'
    425. block='Trigger' x='12' y='0' z='14'
    426. block='Trigger' x='11' y='0' z='2'
    427. block='Trigger' x='23' y='0' z='17'
    428. block='Trigger' x='1' y='0' z='1'
    429. block='Trigger' x='2.999999' y='0' z='7'
    430. block='Trigger' x='21' y='0' z='10'
    431. block='Trigger' x='17' y='0' z='15'
    432. block='Trigger' x='22' y='0' z='0'
    433. block='Trigger' x='15' y='0' z='11'
    434. block='Trigger' x='3.999999' y='0' z='10'
    435. block='Trigger' x='6.999999' y='0' z='10'
    436. block='Trigger' x='18' y='0' z='21'
    437. block='Trigger' x='18' y='0' z='17'
    438. block='Trigger' x='18' y='0' z='6'
    439. block='Trigger' x='14' y='0' z='21'
    440. block='Trigger' x='13' y='0' z='6'
    441. block='Trigger' x='23' y='0' z='23'
    442. block='Trigger' x='23' y='0' z='0'
    443. block='Trigger' x='1' y='0' z='20'
    444. block='Trigger' x='7.999999' y='0' z='3'
    445. block='Trigger' x='20' y='0' z='22'
    446. block='Trigger' x='5.999999' y='0' z='21'
    447. block='Trigger' x='5.999999' y='0' z='17'
    448. block='Trigger' x='1' y='0' z='16'
    449. block='Trigger' x='8.999999' y='0' z='13'
    450. block='Trigger' x='3.999999' y='0' z='6'
    451. block='Trigger' x='9.999999' y='0' z='7'
    452. block='Trigger' x='6.999999' y='0' z='13'
    453. block='Trigger' x='3.999999' y='0' z='18.00001'
    454. block='Trigger' x='1' y='0' z='22'
    455. block='Trigger' x='12' y='0' z='8'
    456. block='Trigger' x='7.999999' y='0' z='11'
    457. block='Trigger' x='14' y='0' z='8'
    458. block='Trigger' x='14' y='0' z='19'
    459. block='Trigger' x='7.999999' y='0' z='13'
    460. block='Trigger' x='16' y='0' z='13'
    461. block='Trigger' x='6.999999' y='0' z='15'
    462. block='Trigger' x='1.999999' y='0' z='20'
    463. block='Trigger' x='9.999999' y='0' z='21'
    464. block='Trigger' x='19' y='0' z='17'
    465. block='Trigger' x='22' y='0' z='19'
    466. block='Trigger' x='2.999999' y='0' z='12'
    467. block='Trigger' x='12' y='0' z='3'
    468. block='Trigger' x='7.999999' y='0' z='21'
    469. block='Trigger' x='12' y='0' z='10'
    470. block='Trigger' x='1.999999' y='0' z='13'
    471. block='Trigger' x='5.999999' y='0' z='1'
    472. block='Trigger' x='3.999999' y='0' z='8'
    473. block='Trigger' x='5.999999' y='0' z='6'
    474. block='Trigger' x='18' y='0' z='20'
    475. block='Trigger' x='1.999999' y='0' z='16'
    476. block='Trigger' x='9.999999' y='0' z='22'
    477. block='Trigger' x='22' y='0' z='1'
    478. block='Trigger' x='21' y='0' z='12'
    479. block='Trigger' x='21' y='0' z='6'
    480. block='Trigger' x='23' y='0' z='5'
    481. block='Trigger' x='16' y='0' z='0'
    482. block='Trigger' x='23' y='0' z='13'
    483. block='Trigger' x='6.999999' y='0' z='3'
    484. block='Trigger' x='1.999999' y='0' z='10'
    485. block='Trigger' x='17' y='0' z='5'
    486. block='Trigger' x='6.999999' y='0' z='19'
    487. block='Trigger' x='6.999999' y='0' z='11'
    488. block='Trigger' x='8.999999' y='0' z='3'
    489. block='Trigger' x='9.999999' y='0' z='17'
    490. block='Trigger' x='20' y='0' z='12'
    491. block='Trigger' x='1' y='0' z='7'
    492. block='Trigger' x='21' y='0' z='7'
    493. block='Trigger' x='20' y='0' z='0'
    494. block='Trigger' x='18' y='0' z='8'
    495. block='Trigger' x='22' y='0' z='5'
    496. block='Trigger' x='12' y='0' z='18.00001'
    497. block='Trigger' x='4.999999' y='0' z='8'
    498. block='Trigger' x='14' y='0' z='12'
    499. block='Trigger' x='15' y='0' z='4'
    500. block='Trigger' x='20' y='0' z='15'
    501. block='Trigger' x='2.999999' y='0' z='5'
    502. block='Trigger' x='19' y='0' z='15'
    503. block='Trigger' x='18' y='0' z='2'
    504. block='Trigger' x='12' y='0' z='0'
    505. block='Trigger' x='23' y='0' z='22'
    506. block='Trigger' x='9.999999' y='0' z='12'
    507. block='Trigger' x='5.999999' y='0' z='9.000002'
    508. block='Trigger' x='12' y='0' z='9.000002'
    509. block='Trigger' x='19' y='0' z='10'
    510. block='Trigger' x='12' y='0' z='5'
    511. block='Trigger' x='5.999999' y='0' z='10'
    512. block='Trigger' x='5.999999' y='0' z='11'
    513. block='Trigger' x='1.999999' y='0' z='23'
    514. block='Trigger' x='22' y='0' z='14'
    515. block='Trigger' x='13' y='0' z='19'
    516. block='Trigger' x='12' y='0' z='19'
    517. block='Trigger' x='13' y='0' z='12'
    518. block='Trigger' x='21' y='0' z='15'
    519. block='Trigger' x='12' y='0' z='22'
    520. block='Trigger' x='4.999999' y='0' z='19'
    521. block='Trigger' x='8.999999' y='0' z='4'
    522. block='Trigger' x='4.999999' y='0' z='9.000002'
    523. block='Trigger' x='21' y='0' z='16'
    524. block='Trigger' x='19' y='0' z='9.000002'
    525. block='Trigger' x='1' y='0' z='11'
    526. block='Trigger' x='18' y='0' z='11'
    527. block='Trigger' x='17' y='0' z='12'
    528. block='Trigger' x='4.999999' y='0' z='13'
    529. block='Trigger' x='16' y='0' z='20'
    530. block='Trigger' x='5.999999' y='0' z='14'
    531. block='Trigger' x='8.999999' y='0' z='15'
    532. block='Trigger' x='5.999999' y='0' z='8'
    533. block='Trigger' x='16' y='0' z='9.000002'
    534. block='Trigger' x='21' y='0' z='4'
    535. block='Trigger' x='8.999999' y='0' z='19'
    536. block='Trigger' x='13' y='0' z='7'
    537. block='Trigger' x='12' y='0' z='17'
    538. block='Trigger' x='7.999999' y='0' z='8'
    539. block='Trigger' x='18' y='0' z='9.000002'
    540. block='Trigger' x='1' y='0' z='17'
    541. block='Trigger' x='21' y='0' z='5'
    542. block='Trigger' x='19' y='0' z='2'
    543. block='Trigger' x='22' y='0' z='17'
    544. block='Trigger' x='2.999999' y='0' z='14'
    545. block='Trigger' x='1.999999' y='0' z='5'
    546. block='Trigger' x='9.999999' y='0' z='1'
    547. block='Trigger' x='19' y='0' z='11'
    548. block='Trigger' x='2.999999' y='0' z='15'
    549. block='Trigger' x='4.999999' y='0' z='20'
    550. block='Trigger' x='5.999999' y='0' z='23'
    551. block='Trigger' x='14' y='0' z='11'
    552. block='Trigger' x='5.999999' y='0' z='3'
    553. block='Trigger' x='19' y='0' z='12'
    554. block='Trigger' x='0' y='0' z='20'
    555. block='Trigger' x='15' y='0' z='15'
    556. block='Trigger' x='5.999999' y='0' z='20'
    557. block='Trigger' x='8.999999' y='0' z='7'
    558. block='Trigger' x='13' y='0' z='0'
    559. block='Trigger' x='11' y='0' z='14'
    560. block='Trigger' x='4.999999' y='0' z='17'
    561. block='Trigger' x='1' y='0' z='19'
    562. block='Trigger' x='16' y='0' z='12'
    563. block='Trigger' x='19' y='0' z='16'
    564. block='Trigger' x='4.999999' y='0' z='7'
    565. block='Trigger' x='17' y='0' z='14'
    566. block='Trigger' x='1' y='0' z='6'
    567. block='Trigger' x='2.999999' y='0' z='13'
    568. block='Trigger' x='19' y='0' z='22'
    569. block='Trigger' x='5.999999' y='0' z='7'
    570. block='Trigger' x='17' y='0' z='23'
    571. block='Trigger' x='0' y='0' z='11'
    572. block='Trigger' x='18' y='0' z='10'
    573. block='Trigger' x='21' y='0' z='21'
    574. block='Trigger' x='17' y='0' z='2'
    575. block='Trigger' x='7.999999' y='0' z='17'
    576. block='Trigger' x='3.999999' y='0' z='12'
    577.  
    Here is what happens:

    I Start A New Level And Then Save:

    Then When I Load It(There are only meant to be 4 layers):
     

    Attached Files:

    Last edited: Nov 22, 2013
  4. thommoboy

    thommoboy

    Joined:
    Jul 20, 2012
    Posts:
    59
    Updated ^
     
  5. THoeppner

    THoeppner

    Joined:
    Oct 10, 2012
    Posts:
    205
    When I compare your two pictures it looks to me as when the blocks are moved in z direction after loading.

    I'm thinking you should start with a smaller level (maybe 4 * 4 blocks) to verify that your conversion (from float to text and from text to float) works correctly. And place the blocks on positions which are easily to compare before saving and after loading. E.g first block: x=0, y=0, z=0, second: x=1, y=0, z=0, theird: x=2, y=0, z=0 and so on.

    Also it helps maybe if you set a breakpoint in your code and step through it. If you don't know how to do it, here is a link in the Unity docs:

    http://docs.unity3d.com/Documentation/Manual/Debugger.html
     
  6. thommoboy

    thommoboy

    Joined:
    Jul 20, 2012
    Posts:
    59
    All the blocks were working before i added the while loop could it be something to do with that?
    also the blocks haven't been moved they have been removed
     
    Last edited: Nov 22, 2013
  7. THoeppner

    THoeppner

    Joined:
    Oct 10, 2012
    Posts:
    205
    Lol.

    Ok I checked your code. Of course its the while loop. Your now using just every second line from your file :D

    The

    Code (csharp):
    1.  
    2. while((s = Two.ReadLine()) != null)
    3.  
    statement already reads the line into s. Therefor you have to use s in the while loop

    Code (csharp):
    1.  
    2.  
    3. while((s = Two.ReadLine()) != null)
    4. {
    5.       string[] = s.Split(stringSeparators, System.StringSplitOptions.None);
    6.       if(d[1] == "StoneBlock")
    7.       {
    8.           GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
    9.           TempBlock.transform.parent = Layer2;
    10.        }
    11. }
    12.  
    13.  
    Hope this helps.
     
  8. thommoboy

    thommoboy

    Joined:
    Jul 20, 2012
    Posts:
    59
    Hurr Durr Thanks!
     
  9. Vanamerax

    Vanamerax

    Joined:
    Jan 12, 2012
    Posts:
    937
    Also, wrapping a Try{} Catch{} block around any IO operations is a good practice, as there could be an error while reading/writing because of various reasons you don't have control over (acces permission, another program blocking the task etc.)