public void OnTesteAbrirClick() { //Abre o terreno, passa ele pra próxima cena e abre a cena TerrainMK2Service terrainService = new TerrainMK2Service(); TerrainMK2 terrain = terrainService.GetById(idTerrenoTeste); //Guarda o terreno nas playerPrefs pra passar os dados entre as cenas var jsonfiedTerrain = JsonConvert.SerializeObject(terrain); PlayerPrefs.SetString("currentTerrain", jsonfiedTerrain); SceneManager.LoadScene("TerrainEditor"); }
//Quando abre o editor de terreno, esse é o 1o método invocado protected void Awake() { //Tá vindo do dashboard, tem terreno escolhido (nem que seja um terreno novo). if (PlayerPrefs.HasKey("currentTerrain")) { String jsonfiedTerrain = PlayerPrefs.GetString("currentTerrain"); TerrainMK2 _terrain = JsonConvert.DeserializeObject <TerrainMK2>(jsonfiedTerrain);//É aqui que duplica. terrain = _terrain; } //Está no editor da unity - preciso de um terreno mock. else { terrain = terrainService.GetById("FBDHFJYMMIIOUPHTYBGU"); } var meshBuilder = GetComponent <TerrainMK2MeshBuilder>(); meshBuilder.MyTerrain = terrain; }