dodano oznaczanie działek
This commit is contained in:
parent
cb2a6b16f3
commit
4facf6c3ba
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,10 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Assets.Cities;
|
using Assets.Cities;
|
||||||
using Assets.Common;
|
using Assets.Common;
|
||||||
|
using System;
|
||||||
using Assets.Voronoi;
|
using Assets.Voronoi;
|
||||||
|
using UnityEngine;
|
||||||
|
using Random = System.Random;
|
||||||
|
|
||||||
namespace Assets.AnnotationPass
|
namespace Assets.AnnotationPass
|
||||||
{
|
{
|
||||||
@ -18,6 +21,8 @@ namespace Assets.AnnotationPass
|
|||||||
public double MinNudgeDistance { get; set; } = .75;
|
public double MinNudgeDistance { get; set; } = .75;
|
||||||
|
|
||||||
public double MinimumRoadLength { get; set; } = 2;
|
public double MinimumRoadLength { get; set; } = 2;
|
||||||
|
public double BusinessCityFields { get; set; } = 0.3;
|
||||||
|
public double LivingCityFields { get; set; } = 0.7;
|
||||||
|
|
||||||
public CityFieldsPass(Random random)
|
public CityFieldsPass(Random random)
|
||||||
{
|
{
|
||||||
@ -120,6 +125,8 @@ namespace Assets.AnnotationPass
|
|||||||
(current, next) = (next, GetNext(next, current));
|
(current, next) = (next, GetNext(next, current));
|
||||||
} while (current != start && watchdog-- > 0);
|
} while (current != start && watchdog-- > 0);
|
||||||
|
|
||||||
|
field.Center = PointUtils.Mean(field.Boundary);
|
||||||
|
|
||||||
return field;
|
return field;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,6 +140,26 @@ namespace Assets.AnnotationPass
|
|||||||
|
|
||||||
// remove outside field
|
// remove outside field
|
||||||
city.Fields.RemoveAll(field => !PointUtils.IsClockwise(field.Boundary));
|
city.Fields.RemoveAll(field => !PointUtils.IsClockwise(field.Boundary));
|
||||||
|
|
||||||
|
// add field types
|
||||||
|
var orderedFields = city.Fields.OrderBy(cf => Point.Dist(cf.Center, city.Center)).ToList();
|
||||||
|
|
||||||
|
orderedFields.First().cityFieldType = CityFieldTypes.MainSquare;
|
||||||
|
|
||||||
|
|
||||||
|
int businessCityFields = (int)Math.Ceiling((BusinessCityFields*orderedFields.Count()));
|
||||||
|
|
||||||
|
foreach (var cityField in orderedFields.Skip(1).Take(businessCityFields))
|
||||||
|
{
|
||||||
|
cityField.cityFieldType = CityFieldTypes.Business;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach (var cityField in orderedFields.Skip(1+businessCityFields))
|
||||||
|
{
|
||||||
|
cityField.cityFieldType = CityFieldTypes.Living;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Annotate(Map map)
|
public void Annotate(Map map)
|
||||||
|
@ -30,6 +30,9 @@ namespace Assets.AnnotationPass
|
|||||||
City newCity = new City();
|
City newCity = new City();
|
||||||
|
|
||||||
var site = _basicGraph.Vertices[vertex];
|
var site = _basicGraph.Vertices[vertex];
|
||||||
|
newCity.Center = site.Center.Clone() as Point;
|
||||||
|
site.Tags.Add("City.Center");
|
||||||
|
|
||||||
var sites = new List<MapSite> { site };
|
var sites = new List<MapSite> { site };
|
||||||
var location = site.Metadata.GetProperty<Location>(LandmassPass.SiteLocationProperty);
|
var location = site.Metadata.GetProperty<Location>(LandmassPass.SiteLocationProperty);
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ using Assets.Voronoi;
|
|||||||
|
|
||||||
namespace Assets.Cities
|
namespace Assets.Cities
|
||||||
{
|
{
|
||||||
public class City
|
public class City : IHasMetadata
|
||||||
{
|
{
|
||||||
public List<MapSite> Sites { get; set; } = new List<MapSite>();
|
public List<MapSite> Sites { get; set; } = new List<MapSite>();
|
||||||
|
|
||||||
@ -15,6 +15,7 @@ namespace Assets.Cities
|
|||||||
public List<CityField> Fields { get; set; } = new List<CityField>();
|
public List<CityField> Fields { get; set; } = new List<CityField>();
|
||||||
|
|
||||||
public List<(int, int)> Edges = new List<(int, int)>();
|
public List<(int, int)> Edges = new List<(int, int)>();
|
||||||
|
public Point Center { get; set; }
|
||||||
|
|
||||||
public City()
|
public City()
|
||||||
{
|
{
|
||||||
@ -38,5 +39,7 @@ namespace Assets.Cities
|
|||||||
|
|
||||||
Edges = a.Union(b).Except(a.Intersect(b)).ToList();
|
Edges = a.Union(b).Except(a.Intersect(b)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Metadata Metadata { get; } = new Metadata();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,8 +3,17 @@ using Assets.Common;
|
|||||||
|
|
||||||
namespace Assets.Cities
|
namespace Assets.Cities
|
||||||
{
|
{
|
||||||
|
public enum CityFieldTypes
|
||||||
|
{
|
||||||
|
MainSquare,
|
||||||
|
Business,
|
||||||
|
Living
|
||||||
|
}
|
||||||
|
|
||||||
public class CityField
|
public class CityField
|
||||||
{
|
{
|
||||||
public IList<Point> Boundary { get; set; } = new List<Point>();
|
public IList<Point> Boundary { get; set; } = new List<Point>();
|
||||||
|
public CityFieldTypes cityFieldType { get; set; }
|
||||||
|
public Point Center { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,7 +3,7 @@
|
|||||||
--- !u!129 &1
|
--- !u!129 &1
|
||||||
PlayerSettings:
|
PlayerSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 17
|
serializedVersion: 18
|
||||||
productGUID: 59b609f943ea458cd81d6a9bda1ea716
|
productGUID: 59b609f943ea458cd81d6a9bda1ea716
|
||||||
AndroidProfiler: 0
|
AndroidProfiler: 0
|
||||||
AndroidFilterTouchesWhenObscured: 0
|
AndroidFilterTouchesWhenObscured: 0
|
||||||
@ -52,8 +52,8 @@ PlayerSettings:
|
|||||||
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
|
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
|
||||||
iosShowActivityIndicatorOnLoading: -1
|
iosShowActivityIndicatorOnLoading: -1
|
||||||
androidShowActivityIndicatorOnLoading: -1
|
androidShowActivityIndicatorOnLoading: -1
|
||||||
iosAppInBackgroundBehavior: 0
|
|
||||||
displayResolutionDialog: 0
|
displayResolutionDialog: 0
|
||||||
|
iosUseCustomAppBackgroundBehavior: 0
|
||||||
iosAllowHTTPDownload: 1
|
iosAllowHTTPDownload: 1
|
||||||
allowedAutorotateToPortrait: 1
|
allowedAutorotateToPortrait: 1
|
||||||
allowedAutorotateToPortraitUpsideDown: 1
|
allowedAutorotateToPortraitUpsideDown: 1
|
||||||
@ -156,7 +156,6 @@ PlayerSettings:
|
|||||||
protectGraphicsMemory: 0
|
protectGraphicsMemory: 0
|
||||||
enableFrameTimingStats: 0
|
enableFrameTimingStats: 0
|
||||||
useHDRDisplay: 0
|
useHDRDisplay: 0
|
||||||
D3DHDRBitDepth: 0
|
|
||||||
m_ColorGamuts: 00000000
|
m_ColorGamuts: 00000000
|
||||||
targetPixelDensity: 30
|
targetPixelDensity: 30
|
||||||
resolutionScalingMode: 0
|
resolutionScalingMode: 0
|
||||||
@ -597,6 +596,7 @@ PlayerSettings:
|
|||||||
XboxOneAllowedProductIds: []
|
XboxOneAllowedProductIds: []
|
||||||
XboxOnePersistentLocalStorageSize: 0
|
XboxOnePersistentLocalStorageSize: 0
|
||||||
XboxOneXTitleMemory: 8
|
XboxOneXTitleMemory: 8
|
||||||
|
xboxOneScriptCompiler: 1
|
||||||
XboxOneOverrideIdentityName:
|
XboxOneOverrideIdentityName:
|
||||||
vrEditorSettings:
|
vrEditorSettings:
|
||||||
daydream:
|
daydream:
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
m_EditorVersion: 2019.2.0f1
|
m_EditorVersion: 2019.3.0a8
|
||||||
m_EditorVersionWithRevision: 2019.2.0f1 (20c1667945cf)
|
m_EditorVersionWithRevision: 2019.3.0a8 (8ea4afdbfa47)
|
||||||
|
Loading…
Reference in New Issue
Block a user