Ejemplo n.º 1
0
        public List <Area> GetNeighborAreas(Area targetArea)
        {
            List <Area>    neighbors = new List <Area>();
            ClipperUtility utility   = new ClipperUtility();

            foreach (Area area in areas.Values)
            {
                if (utility.AreSurfacesNear(area, targetArea))
                {
                    neighbors.Add(area);
                }
            }
            return(neighbors);
        }
Ejemplo n.º 2
0
        void CreateAreas()
        {
            List <Area>    europeAreas = new List <Area>();
            List <Area>    otherAreas  = new List <Area>();
            List <Area>    testAreas   = new List <Area>();
            ClipperUtility utility     = new ClipperUtility();
            Area           targetArea  = areas["Kharkiv"];

            foreach (Area area in areas.Values)
            {
                if (area.counterpart == "SLAV EMPIRE")
                {
                    europeAreas.Add(area);
                }
                else
                {
                    otherAreas.Add(area);
                }
                if (utility.AreSurfacesNear(area, targetArea))
                {
                    testAreas.Add(area);
                }
            }
            List <Terrain> lands = terrainLayouter.CreateLandscapesForAreas(ref testAreas);

            foreach (Terrain terrain in lands)
            {
                CreateAreaSurface(terrain, terrainLayouter.MaterialForSurface(terrain), terrainsObject);
            }
            List <Terrain> objs = terrainLayouter.CreateLayoutForAreas(ref testAreas);

            foreach (Terrain terrain in objs)
            {
                CreateAreaSurface(terrain, terrainLayouter.MaterialForSurface(terrain), terrainsObject);
            }

            foreach (Area area in europeAreas)
            {
                CreateAreaSurface(area, terrainLayouter.MaterialForSurface(area), areaBackgroundObject);
                CreateAreaTerrainsSurfaces(area);
                CreateAreaBorder(area, areaBorderMaterial);
                area.lockedOverlay = CreateAreaSurface(area, areaLockedMaterial, mapOverlayObject);
            }
            foreach (Area area in otherAreas)
            {
                CreateAreaSurface(area, areaBackgroundMaterial, areaBackgroundObject);
                CreateAreaBorder(area, areaBorderMaterial);
            }
        }