【发布时间】:2019-07-22 20:31:36
【问题描述】:
我有一个带有关卡的场景。这个场景有 1000 个级别。它的关卡有一个TextAsset。我想运行一个 EditorScript 并通过脚本而不是通过将 1.000 个 TextAssets 拖放到场景中来分配这些 TextAssets。然后自动保存场景。
Scene mainScene = SceneManager.GetSceneByName("Main");
GameObject[] gameObjects = mainScene.GetRootGameObjects();
GameManager gameManager = gameObjects[0].GetComponent<GameManager>();
List<LanguageCategory> languageCategories = new List<LanguageCategory>();
LanguageCategoryPackInfo l1 = new LanguageCategoryPackInfo();
l1.displayName = "t1";
LanguageCategoryPackInfo l2 = new LanguageCategoryPackInfo();
l2.displayName = "t2";
languageCategories.Add(l1);
languageCategories.Add(l2);
gameManager.LanguageCategoryPackInfos = languageCategories;
//do the same assignment again, but with no luck
mainScene.GetRootGameObjects()[0].GetComponent<GameManager>().LanguageCategoryPackInfos = languageCategories;
EditorSceneManager.SaveScene(mainScene);
运行上述代码后,场景似乎没有改变。
【问题讨论】:
标签: unity3d unity3d-editor unity-editor