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); }
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); } }