private void Awake() { // var levelDataText = Level.text; // Grid = JsonConvert.DeserializeObject<LevelData>(levelDataText).Grid; Grid = AppDataSystem.Load <LevelData>(levelName).Grid; var gridSizeX = Grid.GetLength(1); var gridSizeY = Grid.GetLength(0); for (int y = 0; y < gridSizeY; y++) { for (int x = 0; x < gridSizeX; x++) { var objectType = Grid[y, x]; var gridObjectPrefab = BaseGridObjectPrefabs[objectType]; var gridObjectClone = Instantiate(gridObjectPrefab); // Set the grid position gridObjectClone.GridPosition = new IntVector2(x, -y); // Move the gameobject to its grid position gridObjectClone.transform.position = gridObjectClone.GridPosition.AsVector3(); //gridObjectClone.transform.position = new Vector3(gridObjectClone.GridPosition.x, gridObjectClone.GridPosition.y); } } }
// Is kind of like Update... private void OnGUI() { GUILayout.Label("JSON Exporter"); GUILayout.Label("Please name your level to export"); levelName = EditorGUILayout.TextField(levelName); if (!GUILayout.Button("Export")) { return; } LevelData levelData = new LevelData() { Name = levelName, Grid = grid, GridOneDimensional = new [] { 1, 2, 3, 4 } }; // var levelDataAsJSON = AppDataSystem.Save(levelData, "level1"); AppDataSystem.Save(levelData, levelName); // // var levelDataAsJSON = JsonUtility.ToJson(levelData); // var levelDataAsJSON = JsonConvert.SerializeObject(levelData); // // File.WriteAllText($"{Application.dataPath}/HackMan/AppData/Levels/{levelName}.json", levelDataAsJSON); // File.WriteAllText($"{Application.streamingAssetsPath}/Levels/{levelName}.json", levelDataAsJSON); // Debug.Log(levelDataAsJSON); }