Exemple #1
0
        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);
        }