Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 KB | None | 0 0
  1. private Level[] levels;
  2.  
  3. [System.Serializable]
  4. public class Level
  5. {
  6.     public int levelNo;
  7.     public Road[] roads;
  8. }
  9.  
  10. [System.Serializable]
  11. public class Road
  12. {
  13.     public int roadNo;  //0-1-2   leftmost is 0
  14.     public string[] roadNames;
  15.     public float[] roadYOffsets;
  16. }
  17.  
  18. private void readJson()
  19. {
  20.     jsonPath = Path.Combine(Application.streamingAssetsPath , "LevelConfig.json");
  21.     string json = File.ReadAllText(jsonPath);
  22.     levels = JsonHelper.FromJson<Level>(json);
  23.     int i = 0;
  24.     Debug.Log(levels[i].roads.Length);
  25.     for(i=0;i<levels[0].roads.Length;i++)
  26.     {
  27.         Debug.Log(levels[0].roads[i].roadNo);
  28.     }
  29.     while(i < levels.Length)
  30.     {
  31.         levels[i].roads = JsonHelper.FromJson<Road>(json);
  32.         i++;
  33.     }
  34.     i = 0;
  35.     int j;
  36.     while (i<levels.Length)
  37.     {
  38.         j=0;
  39.         while (j < levels[i].roads.Length)
  40.         {
  41.             int k = 0;
  42.             while (k < levels[i].roads[j].roadNames.Length)
  43.             {
  44.                 Debug.Log(levels[i].levelNo + " roadno" + levels[i].roads[j].roadNo + " roadtype" + levels[i].roads[j].roadNames[k] + " offsets" + levels[i].roads[j].roadYOffsets[k]);
  45.                 k++;
  46.             }
  47.             j++;
  48.         }
  49.         i++;
  50.     }
  51. }
  52.  
  53.  
  54. public static class JsonHelper
  55. {
  56.     public static T[] FromJson<T>(string json)
  57.     {
  58.         Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(json);
  59.         return wrapper.Items;
  60.     }
  61.  
  62.     public static string ToJson<T>(T[] array)
  63.     {
  64.         Wrapper<T> wrapper = new Wrapper<T>();
  65.         wrapper.Items = array;
  66.         return JsonUtility.ToJson(wrapper);
  67.     }
  68.  
  69.     public static string ToJson<T>(T[] array, bool prettyPrint)
  70.     {
  71.         Wrapper<T> wrapper = new Wrapper<T>();
  72.         wrapper.Items = array;
  73.         return JsonUtility.ToJson(wrapper, prettyPrint);
  74.     }
  75.  
  76.     [Serializable]
  77.     private class Wrapper<T>
  78.     {
  79.         public T[] Items;
  80.     }
  81. }
  82.  
  83.  
  84.  
  85. {
  86.     "Levels":
  87.     [
  88.         {
  89.             "levelNo": 1,
  90.             "roads":
  91.             [
  92.                 {
  93.                     "roadNo": 0,
  94.                     "roadNames": [ "DefaultRoad", "DefaultRoad", "DefaultRoad", "DefaultRoad" ],
  95.                     "roadYOffsets": [ 0, 1, -1, 0 ]
  96.                 }
  97.             ]
  98.         }
  99.     ]
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement