private void LoadObjects() { string path = Application.dataPath + "/StreamingAssets/" + _scene_name + ".txt"; CSceneSafeLoad loaded_scene = _fm.ReadJsonFromFile <CSceneSafeLoad>(path); for (int i = 0; i < loaded_scene.Goals.Length; i++) { string prefab_path_goal = loaded_scene.Goals[i].Prefab_path; float x_goal = loaded_scene.Goals[i].X; float y_goal = loaded_scene.Goals[i].Y; float z_goal = loaded_scene.Goals[i].Z; UnityEngine.Object prefab_goal = Resources.Load <UnityEngine.Object>(prefab_path_goal); GameObject new_game_object_goal = (GameObject)GameObject.Instantiate(prefab_goal, new Vector3(x_goal, y_goal, z_goal), Quaternion.identity); } string prefab_path_player = loaded_scene.Player.Prefab_path; float x_player = loaded_scene.Player.X; float y_player = loaded_scene.Player.Y; float z_player = loaded_scene.Player.Z; UnityEngine.Object prefab_player = Resources.Load <UnityEngine.Object>(prefab_path_player); GameObject new_game_object = (GameObject)GameObject.Instantiate(prefab_player, new Vector3(x_player, y_player, z_player), Quaternion.identity); for (int i = 0; i < loaded_scene.Coins.Length; i++) { string prefab_path_coin = loaded_scene.Coins[i].Prefab_path; float x_coin = loaded_scene.Coins[i].X; float y_coin = loaded_scene.Coins[i].Y; float z_coin = loaded_scene.Coins[i].Z; UnityEngine.Object prefab_coin = Resources.Load <UnityEngine.Object>(prefab_path_coin); GameObject new_game_object_coin = (GameObject)GameObject.Instantiate(prefab_coin, new Vector3(x_coin, y_coin, z_coin), Quaternion.Euler(90f, 0f, 0f)); } for (int i = 0; i < loaded_scene.Enemies.Length; i++) { string prefab_path_enemy = loaded_scene.Enemies[i].Prefab_path; float x_enemy = loaded_scene.Enemies[i].X; float y_enemy = loaded_scene.Enemies[i].Y; float z_enemy = loaded_scene.Enemies[i].Z; UnityEngine.Object prefab_enemy = Resources.Load <UnityEngine.Object>(prefab_path_enemy); GameObject new_game_object_enemy = (GameObject)GameObject.Instantiate(prefab_enemy, new Vector3(x_enemy, y_enemy, z_enemy), Quaternion.identity); } for (int i = 0; i < loaded_scene.Platforms.Length; i++) { string prefab_path_platform = loaded_scene.Platforms[i].Prefab_path; float x_plat = loaded_scene.Platforms[i].X; float y_plat = loaded_scene.Platforms[i].Y; float z_plat = loaded_scene.Platforms[i].Z; UnityEngine.Object prefab_plat = Resources.Load <UnityEngine.Object>(prefab_path_platform); GameObject new_game_object_platform = (GameObject)GameObject.Instantiate(prefab_plat, new Vector3(x_plat, y_plat, z_plat), Quaternion.identity); } }
private void SaveObjects() { CSceneSafeLoad new_scene_to_save = new CSceneSafeLoad(_scene_name); var objects_to_save = GameObject.FindGameObjectsWithTag("ToSave"); var number_of_objects = objects_to_save.Length; for (int i = 0; i < number_of_objects; i++) { Transform tr = objects_to_save[i].transform; SRVector coords = new SRVector(tr.position, tr.rotation); if (objects_to_save[i].GetComponent <PlayerController>() != null) { new_scene_to_save.AddPlayer("Player", coords); } if (objects_to_save[i].GetComponent <CoinController>() != null) { new_scene_to_save.AddCoin("Coin", coords); } if (objects_to_save[i].GetComponent <GoalController>() != null) { new_scene_to_save.AddGoal("Goal", coords); } if (objects_to_save[i].GetComponent <EnemyController>() != null) { new_scene_to_save.AddEnemy("Enemy", coords); } if (objects_to_save[i].GetComponent <PlatformController>() != null) { new_scene_to_save.AddPlatform("Platform", coords); } } _fm.JsonToFile(new_scene_to_save, _scene_name); }