public void LoadData(StructureSystemSaveData structureSystemData) { StructuresLearned.Clear(); StructureInformation[] structureInfos = Resources.LoadAll <StructureInformation>("Configuration"); foreach (string learned in structureSystemData.learneds) { StructureInformation find = Array.Find(structureInfos, x => x.ID == learned); if (find) { StructuresLearned.Add(find); } } foreach (StructureSaveData saveData in structureSystemData.structureDatas) { StructureInformation find = Array.Find(structureInfos, x => x.ID == saveData.modelID); if (find) { StructureData data = new StructureData(find, new Vector3(saveData.posX, saveData.posY, saveData.posZ)); data.LoadBuild(find, saveData); if (data.leftBuildTime <= 0) { DoneBuild(data); } else if (saveData.scene == UnityEngine.SceneManagement.SceneManager.GetActiveScene().name) { StructurePreview2D preview = Instantiate(find.Preview); preview.StartBuild(data); MakeFlag(preview); } AddStructure(data); } } AStarManager.Instance.UpdateGraphs(); }