private static void CheckPoint(GameArea Area, List<Point> BlackAngles, Point point, GameScenario Scenario, Faction faction) { TerrainDetail terrainDetailByPosition = Scenario.GetTerrainDetailByPosition(point); if (terrainDetailByPosition != null) { if (terrainDetailByPosition.ViewThrough) { if (faction != null) { Architecture architectureByPosition = Scenario.GetArchitectureByPosition(point); if (!(architectureByPosition == null || architectureByPosition.Endurance <= 0 || faction.IsFriendlyWithoutTruce(architectureByPosition.BelongedFaction))) { BlackAngles.Add(point); return; } } if (!IsInBlackAngle(Area.Centre, BlackAngles, point)) { Area.AddPoint(point); } } else { BlackAngles.Add(point); } } }