private SM4MapRegionMap GetRegions(string regionsDirectory, SM4MapRegionMap region) { string[] areaDirectories = Directory.GetDirectories(regionsDirectory); foreach (var areaDirectory in areaDirectories) { SM4MapAreaMap area = new SM4MapAreaMap(); area.objectName = Path.GetFileName(areaDirectory); area.path = areaDirectory; region.areaMaps.Add(GetAreas(areaDirectory, area)); } return(region); }
public void GetWorld(string parentFolder) { worldMap = new SM4MapWorldMap(); string pathRegions; pathRegions = Path.Combine(Application.streamingAssetsPath, parentFolder); string[] regionsDirectories = Directory.GetDirectories(pathRegions); foreach (var regionsDirectory in regionsDirectories) { SM4MapRegionMap region = new SM4MapRegionMap(); region.objectName = Path.GetFileName(regionsDirectory); region.path = regionsDirectory; worldMap.regionMaps.Add(GetRegions(regionsDirectory, region)); } foreach (var region in worldMap.regionMaps) { //Debug.Log("Region: "+region.objectName); foreach (var area in region.areaMaps) { //Debug.Log(" Area: "+area.objectName); var newGO = new GameObject(); var map = Instantiate(newGO, transform); Destroy(newGO); map.name = area.objectName; var mapScript = map.AddComponent <SM4Map>(); mapScript.SendReferenceToUIElementsMap(); mapScript.mapName = area.objectName; mapScript.path = area.path; mapScript.AddSM4MapBackground(); listOfMaps.Add(mapScript); foreach (var areaSubDirectory in area.locationMaps) { //Debug.Log(" AreaSubFolders: "+areaSubDirectory.objectName); foreach (var location in areaSubDirectory.locations) { //Debug.Log(" Location: "+location.locationName); mapScript.AddSM4MapLocation(location); } } } } }