Пример #1
0
    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);
    }
Пример #2
0
    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);
                    }
                }
            }
        }
    }