Description:
Make area generation work better.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r265:59fdbace89ae -

1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
This diff has been collapsed as it changes many lines, (589 lines changed) Show them Hide them
@@ -2,8 +2,57
2 "version": 3,
2 "version": 3,
3 "targets": {
3 "targets": {
4 ".NETFramework,Version=v4.5": {
4 ".NETFramework,Version=v4.5": {
5 "Microsoft.NETFramework.ReferenceAssemblies/1.0.0": {
6 "type": "package",
7 "dependencies": {
8 "Microsoft.NETFramework.ReferenceAssemblies.net45": "1.0.0"
9 }
10 },
11 "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.0": {
12 "type": "package",
13 "build": {
14 "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets": {}
15 }
16 },
5 "FNA/1.0.0": {
17 "FNA/1.0.0": {
6 "type": "project",
18 "type": "project",
19 "framework": ".NETFramework,Version=v4.0",
20 "compile": {
21 "bin/placeholder/FNA.dll": {}
22 },
23 "runtime": {
24 "bin/placeholder/FNA.dll": {}
25 }
26 }
27 },
28 ".NETStandard,Version=v2.0": {
29 "Microsoft.NETCore.Platforms/1.1.0": {
30 "type": "package",
31 "compile": {
32 "lib/netstandard1.0/_._": {}
33 },
34 "runtime": {
35 "lib/netstandard1.0/_._": {}
36 }
37 },
38 "NETStandard.Library/2.0.3": {
39 "type": "package",
40 "dependencies": {
41 "Microsoft.NETCore.Platforms": "1.1.0"
42 },
43 "compile": {
44 "lib/netstandard1.0/_._": {}
45 },
46 "runtime": {
47 "lib/netstandard1.0/_._": {}
48 },
49 "build": {
50 "build/netstandard2.0/NETStandard.Library.targets": {}
51 }
52 },
53 "FNA/1.0.0": {
54 "type": "project",
55 "framework": ".NETStandard,Version=v2.0",
7 "compile": {
56 "compile": {
8 "bin/placeholder/FNA.dll": {}
57 "bin/placeholder/FNA.dll": {}
9 },
58 },
@@ -14,15 +63,493
14 }
63 }
15 },
64 },
16 "libraries": {
65 "libraries": {
66 "Microsoft.NETCore.Platforms/1.1.0": {
67 "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
68 "type": "package",
69 "path": "microsoft.netcore.platforms/1.1.0",
70 "files": [
71 ".nupkg.metadata",
72 ".signature.p7s",
73 "ThirdPartyNotices.txt",
74 "dotnet_library_license.txt",
75 "lib/netstandard1.0/_._",
76 "microsoft.netcore.platforms.1.1.0.nupkg.sha512",
77 "microsoft.netcore.platforms.nuspec",
78 "runtime.json"
79 ]
80 },
81 "Microsoft.NETFramework.ReferenceAssemblies/1.0.0": {
82 "sha512": "7D2TMufjGiowmt0E941kVoTIS+GTNzaPopuzM1/1LSaJAdJdBrVP0SkZW7AgDd0a2U1DjsIeaKG1wxGVBNLDMw==",
83 "type": "package",
84 "path": "microsoft.netframework.referenceassemblies/1.0.0",
85 "files": [
86 ".nupkg.metadata",
87 ".signature.p7s",
88 "microsoft.netframework.referenceassemblies.1.0.0.nupkg.sha512",
89 "microsoft.netframework.referenceassemblies.nuspec"
90 ]
91 },
92 "Microsoft.NETFramework.ReferenceAssemblies.net45/1.0.0": {
93 "sha512": "f7XMQsZFaoc3w8Vg3VQ3FHuU2C9vf0Ng5EAV4gzdNWDerPM/OmrzccLj15eI1wCLLXj4jk8+lKsbonzJeyXgQQ==",
94 "type": "package",
95 "path": "microsoft.netframework.referenceassemblies.net45/1.0.0",
96 "files": [
97 ".nupkg.metadata",
98 ".signature.p7s",
99 "build/.NETFramework/v4.5/Accessibility.dll",
100 "build/.NETFramework/v4.5/Accessibility.xml",
101 "build/.NETFramework/v4.5/CustomMarshalers.dll",
102 "build/.NETFramework/v4.5/CustomMarshalers.xml",
103 "build/.NETFramework/v4.5/Facades/System.Collections.Concurrent.dll",
104 "build/.NETFramework/v4.5/Facades/System.Collections.dll",
105 "build/.NETFramework/v4.5/Facades/System.ComponentModel.Annotations.dll",
106 "build/.NETFramework/v4.5/Facades/System.ComponentModel.EventBasedAsync.dll",
107 "build/.NETFramework/v4.5/Facades/System.ComponentModel.dll",
108 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Contracts.dll",
109 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Debug.dll",
110 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tools.dll",
111 "build/.NETFramework/v4.5/Facades/System.Diagnostics.Tracing.dll",
112 "build/.NETFramework/v4.5/Facades/System.Dynamic.Runtime.dll",
113 "build/.NETFramework/v4.5/Facades/System.Globalization.dll",
114 "build/.NETFramework/v4.5/Facades/System.IO.dll",
115 "build/.NETFramework/v4.5/Facades/System.Linq.Expressions.dll",
116 "build/.NETFramework/v4.5/Facades/System.Linq.Parallel.dll",
117 "build/.NETFramework/v4.5/Facades/System.Linq.Queryable.dll",
118 "build/.NETFramework/v4.5/Facades/System.Linq.dll",
119 "build/.NETFramework/v4.5/Facades/System.Net.NetworkInformation.dll",
120 "build/.NETFramework/v4.5/Facades/System.Net.Primitives.dll",
121 "build/.NETFramework/v4.5/Facades/System.Net.Requests.dll",
122 "build/.NETFramework/v4.5/Facades/System.ObjectModel.dll",
123 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.ILGeneration.dll",
124 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.Lightweight.dll",
125 "build/.NETFramework/v4.5/Facades/System.Reflection.Emit.dll",
126 "build/.NETFramework/v4.5/Facades/System.Reflection.Extensions.dll",
127 "build/.NETFramework/v4.5/Facades/System.Reflection.Primitives.dll",
128 "build/.NETFramework/v4.5/Facades/System.Reflection.dll",
129 "build/.NETFramework/v4.5/Facades/System.Resources.ResourceManager.dll",
130 "build/.NETFramework/v4.5/Facades/System.Runtime.Extensions.dll",
131 "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll",
132 "build/.NETFramework/v4.5/Facades/System.Runtime.InteropServices.dll",
133 "build/.NETFramework/v4.5/Facades/System.Runtime.Numerics.dll",
134 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Json.dll",
135 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Primitives.dll",
136 "build/.NETFramework/v4.5/Facades/System.Runtime.Serialization.Xml.dll",
137 "build/.NETFramework/v4.5/Facades/System.Runtime.dll",
138 "build/.NETFramework/v4.5/Facades/System.Security.Principal.dll",
139 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Duplex.dll",
140 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Http.dll",
141 "build/.NETFramework/v4.5/Facades/System.ServiceModel.NetTcp.dll",
142 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Primitives.dll",
143 "build/.NETFramework/v4.5/Facades/System.ServiceModel.Security.dll",
144 "build/.NETFramework/v4.5/Facades/System.Text.Encoding.Extensions.dll",
145 "build/.NETFramework/v4.5/Facades/System.Text.Encoding.dll",
146 "build/.NETFramework/v4.5/Facades/System.Text.RegularExpressions.dll",
147 "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.Parallel.dll",
148 "build/.NETFramework/v4.5/Facades/System.Threading.Tasks.dll",
149 "build/.NETFramework/v4.5/Facades/System.Threading.dll",
150 "build/.NETFramework/v4.5/Facades/System.Xml.ReaderWriter.dll",
151 "build/.NETFramework/v4.5/Facades/System.Xml.XDocument.dll",
152 "build/.NETFramework/v4.5/Facades/System.Xml.XmlSerializer.dll",
153 "build/.NETFramework/v4.5/ISymWrapper.dll",
154 "build/.NETFramework/v4.5/ISymWrapper.xml",
155 "build/.NETFramework/v4.5/Microsoft.Activities.Build.dll",
156 "build/.NETFramework/v4.5/Microsoft.Activities.Build.xml",
157 "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.dll",
158 "build/.NETFramework/v4.5/Microsoft.Build.Conversion.v4.0.xml",
159 "build/.NETFramework/v4.5/Microsoft.Build.Engine.dll",
160 "build/.NETFramework/v4.5/Microsoft.Build.Engine.xml",
161 "build/.NETFramework/v4.5/Microsoft.Build.Framework.dll",
162 "build/.NETFramework/v4.5/Microsoft.Build.Framework.xml",
163 "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.dll",
164 "build/.NETFramework/v4.5/Microsoft.Build.Tasks.v4.0.xml",
165 "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.dll",
166 "build/.NETFramework/v4.5/Microsoft.Build.Utilities.v4.0.xml",
167 "build/.NETFramework/v4.5/Microsoft.Build.dll",
168 "build/.NETFramework/v4.5/Microsoft.Build.xml",
169 "build/.NETFramework/v4.5/Microsoft.CSharp.dll",
170 "build/.NETFramework/v4.5/Microsoft.CSharp.xml",
171 "build/.NETFramework/v4.5/Microsoft.JScript.dll",
172 "build/.NETFramework/v4.5/Microsoft.JScript.xml",
173 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.dll",
174 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.Data.xml",
175 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.dll",
176 "build/.NETFramework/v4.5/Microsoft.VisualBasic.Compatibility.xml",
177 "build/.NETFramework/v4.5/Microsoft.VisualBasic.dll",
178 "build/.NETFramework/v4.5/Microsoft.VisualBasic.xml",
179 "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.dll",
180 "build/.NETFramework/v4.5/Microsoft.VisualC.STLCLR.xml",
181 "build/.NETFramework/v4.5/Microsoft.VisualC.dll",
182 "build/.NETFramework/v4.5/Microsoft.VisualC.xml",
183 "build/.NETFramework/v4.5/PermissionSets/FullTrust.xml",
184 "build/.NETFramework/v4.5/PermissionSets/Internet.xml",
185 "build/.NETFramework/v4.5/PermissionSets/LocalIntranet.xml",
186 "build/.NETFramework/v4.5/PresentationBuildTasks.dll",
187 "build/.NETFramework/v4.5/PresentationBuildTasks.xml",
188 "build/.NETFramework/v4.5/PresentationCore.dll",
189 "build/.NETFramework/v4.5/PresentationCore.xml",
190 "build/.NETFramework/v4.5/PresentationFramework.Aero.dll",
191 "build/.NETFramework/v4.5/PresentationFramework.Aero.xml",
192 "build/.NETFramework/v4.5/PresentationFramework.Aero2.dll",
193 "build/.NETFramework/v4.5/PresentationFramework.AeroLite.dll",
194 "build/.NETFramework/v4.5/PresentationFramework.Classic.dll",
195 "build/.NETFramework/v4.5/PresentationFramework.Classic.xml",
196 "build/.NETFramework/v4.5/PresentationFramework.Luna.dll",
197 "build/.NETFramework/v4.5/PresentationFramework.Luna.xml",
198 "build/.NETFramework/v4.5/PresentationFramework.Royale.dll",
199 "build/.NETFramework/v4.5/PresentationFramework.Royale.xml",
200 "build/.NETFramework/v4.5/PresentationFramework.dll",
201 "build/.NETFramework/v4.5/PresentationFramework.xml",
202 "build/.NETFramework/v4.5/ReachFramework.dll",
203 "build/.NETFramework/v4.5/ReachFramework.xml",
204 "build/.NETFramework/v4.5/RedistList/FrameworkList.xml",
205 "build/.NETFramework/v4.5/System.Activities.Core.Presentation.dll",
206 "build/.NETFramework/v4.5/System.Activities.Core.Presentation.xml",
207 "build/.NETFramework/v4.5/System.Activities.DurableInstancing.dll",
208 "build/.NETFramework/v4.5/System.Activities.DurableInstancing.xml",
209 "build/.NETFramework/v4.5/System.Activities.Presentation.dll",
210 "build/.NETFramework/v4.5/System.Activities.Presentation.xml",
211 "build/.NETFramework/v4.5/System.Activities.dll",
212 "build/.NETFramework/v4.5/System.Activities.xml",
213 "build/.NETFramework/v4.5/System.AddIn.Contract.dll",
214 "build/.NETFramework/v4.5/System.AddIn.Contract.xml",
215 "build/.NETFramework/v4.5/System.AddIn.dll",
216 "build/.NETFramework/v4.5/System.AddIn.xml",
217 "build/.NETFramework/v4.5/System.ComponentModel.Composition.Registration.dll",
218 "build/.NETFramework/v4.5/System.ComponentModel.Composition.dll",
219 "build/.NETFramework/v4.5/System.ComponentModel.Composition.xml",
220 "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.dll",
221 "build/.NETFramework/v4.5/System.ComponentModel.DataAnnotations.xml",
222 "build/.NETFramework/v4.5/System.Configuration.Install.dll",
223 "build/.NETFramework/v4.5/System.Configuration.Install.xml",
224 "build/.NETFramework/v4.5/System.Configuration.dll",
225 "build/.NETFramework/v4.5/System.Configuration.xml",
226 "build/.NETFramework/v4.5/System.Core.dll",
227 "build/.NETFramework/v4.5/System.Core.xml",
228 "build/.NETFramework/v4.5/System.Data.DataSetExtensions.dll",
229 "build/.NETFramework/v4.5/System.Data.DataSetExtensions.xml",
230 "build/.NETFramework/v4.5/System.Data.Entity.Design.dll",
231 "build/.NETFramework/v4.5/System.Data.Entity.Design.xml",
232 "build/.NETFramework/v4.5/System.Data.Entity.dll",
233 "build/.NETFramework/v4.5/System.Data.Entity.xml",
234 "build/.NETFramework/v4.5/System.Data.Linq.dll",
235 "build/.NETFramework/v4.5/System.Data.Linq.xml",
236 "build/.NETFramework/v4.5/System.Data.OracleClient.dll",
237 "build/.NETFramework/v4.5/System.Data.OracleClient.xml",
238 "build/.NETFramework/v4.5/System.Data.Services.Client.dll",
239 "build/.NETFramework/v4.5/System.Data.Services.Client.xml",
240 "build/.NETFramework/v4.5/System.Data.Services.Design.dll",
241 "build/.NETFramework/v4.5/System.Data.Services.Design.xml",
242 "build/.NETFramework/v4.5/System.Data.Services.dll",
243 "build/.NETFramework/v4.5/System.Data.Services.xml",
244 "build/.NETFramework/v4.5/System.Data.SqlXml.dll",
245 "build/.NETFramework/v4.5/System.Data.SqlXml.xml",
246 "build/.NETFramework/v4.5/System.Data.dll",
247 "build/.NETFramework/v4.5/System.Data.xml",
248 "build/.NETFramework/v4.5/System.Deployment.dll",
249 "build/.NETFramework/v4.5/System.Deployment.xml",
250 "build/.NETFramework/v4.5/System.Design.dll",
251 "build/.NETFramework/v4.5/System.Design.xml",
252 "build/.NETFramework/v4.5/System.Device.dll",
253 "build/.NETFramework/v4.5/System.Device.xml",
254 "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.dll",
255 "build/.NETFramework/v4.5/System.DirectoryServices.AccountManagement.xml",
256 "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.dll",
257 "build/.NETFramework/v4.5/System.DirectoryServices.Protocols.xml",
258 "build/.NETFramework/v4.5/System.DirectoryServices.dll",
259 "build/.NETFramework/v4.5/System.DirectoryServices.xml",
260 "build/.NETFramework/v4.5/System.Drawing.Design.dll",
261 "build/.NETFramework/v4.5/System.Drawing.Design.xml",
262 "build/.NETFramework/v4.5/System.Drawing.dll",
263 "build/.NETFramework/v4.5/System.Drawing.xml",
264 "build/.NETFramework/v4.5/System.EnterpriseServices.Thunk.dll",
265 "build/.NETFramework/v4.5/System.EnterpriseServices.Wrapper.dll",
266 "build/.NETFramework/v4.5/System.EnterpriseServices.dll",
267 "build/.NETFramework/v4.5/System.EnterpriseServices.xml",
268 "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.dll",
269 "build/.NETFramework/v4.5/System.IO.Compression.FileSystem.xml",
270 "build/.NETFramework/v4.5/System.IO.Compression.dll",
271 "build/.NETFramework/v4.5/System.IO.Compression.xml",
272 "build/.NETFramework/v4.5/System.IO.Log.dll",
273 "build/.NETFramework/v4.5/System.IO.Log.xml",
274 "build/.NETFramework/v4.5/System.IdentityModel.Selectors.dll",
275 "build/.NETFramework/v4.5/System.IdentityModel.Selectors.xml",
276 "build/.NETFramework/v4.5/System.IdentityModel.Services.dll",
277 "build/.NETFramework/v4.5/System.IdentityModel.Services.xml",
278 "build/.NETFramework/v4.5/System.IdentityModel.dll",
279 "build/.NETFramework/v4.5/System.IdentityModel.xml",
280 "build/.NETFramework/v4.5/System.Management.Instrumentation.dll",
281 "build/.NETFramework/v4.5/System.Management.Instrumentation.xml",
282 "build/.NETFramework/v4.5/System.Management.dll",
283 "build/.NETFramework/v4.5/System.Management.xml",
284 "build/.NETFramework/v4.5/System.Messaging.dll",
285 "build/.NETFramework/v4.5/System.Messaging.xml",
286 "build/.NETFramework/v4.5/System.Net.Http.WebRequest.dll",
287 "build/.NETFramework/v4.5/System.Net.Http.WebRequest.xml",
288 "build/.NETFramework/v4.5/System.Net.Http.dll",
289 "build/.NETFramework/v4.5/System.Net.Http.xml",
290 "build/.NETFramework/v4.5/System.Net.dll",
291 "build/.NETFramework/v4.5/System.Net.xml",
292 "build/.NETFramework/v4.5/System.Numerics.dll",
293 "build/.NETFramework/v4.5/System.Numerics.xml",
294 "build/.NETFramework/v4.5/System.Printing.dll",
295 "build/.NETFramework/v4.5/System.Printing.xml",
296 "build/.NETFramework/v4.5/System.Reflection.Context.dll",
297 "build/.NETFramework/v4.5/System.Reflection.Context.xml",
298 "build/.NETFramework/v4.5/System.Runtime.Caching.dll",
299 "build/.NETFramework/v4.5/System.Runtime.Caching.xml",
300 "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.dll",
301 "build/.NETFramework/v4.5/System.Runtime.DurableInstancing.xml",
302 "build/.NETFramework/v4.5/System.Runtime.Remoting.dll",
303 "build/.NETFramework/v4.5/System.Runtime.Remoting.xml",
304 "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.dll",
305 "build/.NETFramework/v4.5/System.Runtime.Serialization.Formatters.Soap.xml",
306 "build/.NETFramework/v4.5/System.Runtime.Serialization.dll",
307 "build/.NETFramework/v4.5/System.Runtime.Serialization.xml",
308 "build/.NETFramework/v4.5/System.Security.dll",
309 "build/.NETFramework/v4.5/System.Security.xml",
310 "build/.NETFramework/v4.5/System.ServiceModel.Activation.dll",
311 "build/.NETFramework/v4.5/System.ServiceModel.Activation.xml",
312 "build/.NETFramework/v4.5/System.ServiceModel.Activities.dll",
313 "build/.NETFramework/v4.5/System.ServiceModel.Activities.xml",
314 "build/.NETFramework/v4.5/System.ServiceModel.Channels.dll",
315 "build/.NETFramework/v4.5/System.ServiceModel.Channels.xml",
316 "build/.NETFramework/v4.5/System.ServiceModel.Discovery.dll",
317 "build/.NETFramework/v4.5/System.ServiceModel.Discovery.xml",
318 "build/.NETFramework/v4.5/System.ServiceModel.Routing.dll",
319 "build/.NETFramework/v4.5/System.ServiceModel.Routing.xml",
320 "build/.NETFramework/v4.5/System.ServiceModel.Web.dll",
321 "build/.NETFramework/v4.5/System.ServiceModel.Web.xml",
322 "build/.NETFramework/v4.5/System.ServiceModel.dll",
323 "build/.NETFramework/v4.5/System.ServiceModel.xml",
324 "build/.NETFramework/v4.5/System.ServiceProcess.dll",
325 "build/.NETFramework/v4.5/System.ServiceProcess.xml",
326 "build/.NETFramework/v4.5/System.Speech.dll",
327 "build/.NETFramework/v4.5/System.Speech.xml",
328 "build/.NETFramework/v4.5/System.Threading.Tasks.Dataflow.xml",
329 "build/.NETFramework/v4.5/System.Transactions.dll",
330 "build/.NETFramework/v4.5/System.Transactions.xml",
331 "build/.NETFramework/v4.5/System.Web.Abstractions.dll",
332 "build/.NETFramework/v4.5/System.Web.ApplicationServices.dll",
333 "build/.NETFramework/v4.5/System.Web.ApplicationServices.xml",
334 "build/.NETFramework/v4.5/System.Web.DataVisualization.Design.dll",
335 "build/.NETFramework/v4.5/System.Web.DataVisualization.dll",
336 "build/.NETFramework/v4.5/System.Web.DataVisualization.xml",
337 "build/.NETFramework/v4.5/System.Web.DynamicData.Design.dll",
338 "build/.NETFramework/v4.5/System.Web.DynamicData.Design.xml",
339 "build/.NETFramework/v4.5/System.Web.DynamicData.dll",
340 "build/.NETFramework/v4.5/System.Web.DynamicData.xml",
341 "build/.NETFramework/v4.5/System.Web.Entity.Design.dll",
342 "build/.NETFramework/v4.5/System.Web.Entity.Design.xml",
343 "build/.NETFramework/v4.5/System.Web.Entity.dll",
344 "build/.NETFramework/v4.5/System.Web.Entity.xml",
345 "build/.NETFramework/v4.5/System.Web.Extensions.Design.dll",
346 "build/.NETFramework/v4.5/System.Web.Extensions.Design.xml",
347 "build/.NETFramework/v4.5/System.Web.Extensions.dll",
348 "build/.NETFramework/v4.5/System.Web.Extensions.xml",
349 "build/.NETFramework/v4.5/System.Web.Mobile.dll",
350 "build/.NETFramework/v4.5/System.Web.Mobile.xml",
351 "build/.NETFramework/v4.5/System.Web.RegularExpressions.dll",
352 "build/.NETFramework/v4.5/System.Web.RegularExpressions.xml",
353 "build/.NETFramework/v4.5/System.Web.Routing.dll",
354 "build/.NETFramework/v4.5/System.Web.Services.dll",
355 "build/.NETFramework/v4.5/System.Web.Services.xml",
356 "build/.NETFramework/v4.5/System.Web.dll",
357 "build/.NETFramework/v4.5/System.Web.xml",
358 "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.dll",
359 "build/.NETFramework/v4.5/System.Windows.Controls.Ribbon.xml",
360 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.Design.dll",
361 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.dll",
362 "build/.NETFramework/v4.5/System.Windows.Forms.DataVisualization.xml",
363 "build/.NETFramework/v4.5/System.Windows.Forms.dll",
364 "build/.NETFramework/v4.5/System.Windows.Forms.xml",
365 "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.dll",
366 "build/.NETFramework/v4.5/System.Windows.Input.Manipulations.xml",
367 "build/.NETFramework/v4.5/System.Windows.Presentation.dll",
368 "build/.NETFramework/v4.5/System.Windows.Presentation.xml",
369 "build/.NETFramework/v4.5/System.Windows.dll",
370 "build/.NETFramework/v4.5/System.Workflow.Activities.dll",
371 "build/.NETFramework/v4.5/System.Workflow.Activities.xml",
372 "build/.NETFramework/v4.5/System.Workflow.ComponentModel.dll",
373 "build/.NETFramework/v4.5/System.Workflow.ComponentModel.xml",
374 "build/.NETFramework/v4.5/System.Workflow.Runtime.dll",
375 "build/.NETFramework/v4.5/System.Workflow.Runtime.xml",
376 "build/.NETFramework/v4.5/System.WorkflowServices.dll",
377 "build/.NETFramework/v4.5/System.WorkflowServices.xml",
378 "build/.NETFramework/v4.5/System.Xaml.dll",
379 "build/.NETFramework/v4.5/System.Xaml.xml",
380 "build/.NETFramework/v4.5/System.Xml.Linq.dll",
381 "build/.NETFramework/v4.5/System.Xml.Linq.xml",
382 "build/.NETFramework/v4.5/System.Xml.Serialization.dll",
383 "build/.NETFramework/v4.5/System.Xml.dll",
384 "build/.NETFramework/v4.5/System.Xml.xml",
385 "build/.NETFramework/v4.5/System.dll",
386 "build/.NETFramework/v4.5/System.xml",
387 "build/.NETFramework/v4.5/UIAutomationClient.dll",
388 "build/.NETFramework/v4.5/UIAutomationClient.xml",
389 "build/.NETFramework/v4.5/UIAutomationClientsideProviders.dll",
390 "build/.NETFramework/v4.5/UIAutomationClientsideProviders.xml",
391 "build/.NETFramework/v4.5/UIAutomationProvider.dll",
392 "build/.NETFramework/v4.5/UIAutomationProvider.xml",
393 "build/.NETFramework/v4.5/UIAutomationTypes.dll",
394 "build/.NETFramework/v4.5/UIAutomationTypes.xml",
395 "build/.NETFramework/v4.5/WindowsBase.dll",
396 "build/.NETFramework/v4.5/WindowsBase.xml",
397 "build/.NETFramework/v4.5/WindowsFormsIntegration.dll",
398 "build/.NETFramework/v4.5/WindowsFormsIntegration.xml",
399 "build/.NETFramework/v4.5/XamlBuildTask.dll",
400 "build/.NETFramework/v4.5/XamlBuildTask.xml",
401 "build/.NETFramework/v4.5/mscorlib.dll",
402 "build/.NETFramework/v4.5/mscorlib.xml",
403 "build/.NETFramework/v4.5/sysglobl.dll",
404 "build/.NETFramework/v4.5/sysglobl.xml",
405 "build/Microsoft.NETFramework.ReferenceAssemblies.net45.targets",
406 "microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg.sha512",
407 "microsoft.netframework.referenceassemblies.net45.nuspec"
408 ]
409 },
410 "NETStandard.Library/2.0.3": {
411 "sha512": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
412 "type": "package",
413 "path": "netstandard.library/2.0.3",
414 "files": [
415 ".nupkg.metadata",
416 ".signature.p7s",
417 "LICENSE.TXT",
418 "THIRD-PARTY-NOTICES.TXT",
419 "build/netstandard2.0/NETStandard.Library.targets",
420 "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
421 "build/netstandard2.0/ref/System.AppContext.dll",
422 "build/netstandard2.0/ref/System.Collections.Concurrent.dll",
423 "build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
424 "build/netstandard2.0/ref/System.Collections.Specialized.dll",
425 "build/netstandard2.0/ref/System.Collections.dll",
426 "build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
427 "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
428 "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
429 "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
430 "build/netstandard2.0/ref/System.ComponentModel.dll",
431 "build/netstandard2.0/ref/System.Console.dll",
432 "build/netstandard2.0/ref/System.Core.dll",
433 "build/netstandard2.0/ref/System.Data.Common.dll",
434 "build/netstandard2.0/ref/System.Data.dll",
435 "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
436 "build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
437 "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
438 "build/netstandard2.0/ref/System.Diagnostics.Process.dll",
439 "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
440 "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
441 "build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
442 "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
443 "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
444 "build/netstandard2.0/ref/System.Drawing.Primitives.dll",
445 "build/netstandard2.0/ref/System.Drawing.dll",
446 "build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
447 "build/netstandard2.0/ref/System.Globalization.Calendars.dll",
448 "build/netstandard2.0/ref/System.Globalization.Extensions.dll",
449 "build/netstandard2.0/ref/System.Globalization.dll",
450 "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
451 "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
452 "build/netstandard2.0/ref/System.IO.Compression.dll",
453 "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
454 "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
455 "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
456 "build/netstandard2.0/ref/System.IO.FileSystem.dll",
457 "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
458 "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
459 "build/netstandard2.0/ref/System.IO.Pipes.dll",
460 "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
461 "build/netstandard2.0/ref/System.IO.dll",
462 "build/netstandard2.0/ref/System.Linq.Expressions.dll",
463 "build/netstandard2.0/ref/System.Linq.Parallel.dll",
464 "build/netstandard2.0/ref/System.Linq.Queryable.dll",
465 "build/netstandard2.0/ref/System.Linq.dll",
466 "build/netstandard2.0/ref/System.Net.Http.dll",
467 "build/netstandard2.0/ref/System.Net.NameResolution.dll",
468 "build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
469 "build/netstandard2.0/ref/System.Net.Ping.dll",
470 "build/netstandard2.0/ref/System.Net.Primitives.dll",
471 "build/netstandard2.0/ref/System.Net.Requests.dll",
472 "build/netstandard2.0/ref/System.Net.Security.dll",
473 "build/netstandard2.0/ref/System.Net.Sockets.dll",
474 "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
475 "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
476 "build/netstandard2.0/ref/System.Net.WebSockets.dll",
477 "build/netstandard2.0/ref/System.Net.dll",
478 "build/netstandard2.0/ref/System.Numerics.dll",
479 "build/netstandard2.0/ref/System.ObjectModel.dll",
480 "build/netstandard2.0/ref/System.Reflection.Extensions.dll",
481 "build/netstandard2.0/ref/System.Reflection.Primitives.dll",
482 "build/netstandard2.0/ref/System.Reflection.dll",
483 "build/netstandard2.0/ref/System.Resources.Reader.dll",
484 "build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
485 "build/netstandard2.0/ref/System.Resources.Writer.dll",
486 "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
487 "build/netstandard2.0/ref/System.Runtime.Extensions.dll",
488 "build/netstandard2.0/ref/System.Runtime.Handles.dll",
489 "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
490 "build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
491 "build/netstandard2.0/ref/System.Runtime.Numerics.dll",
492 "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
493 "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
494 "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
495 "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
496 "build/netstandard2.0/ref/System.Runtime.Serialization.dll",
497 "build/netstandard2.0/ref/System.Runtime.dll",
498 "build/netstandard2.0/ref/System.Security.Claims.dll",
499 "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
500 "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
501 "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
502 "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
503 "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
504 "build/netstandard2.0/ref/System.Security.Principal.dll",
505 "build/netstandard2.0/ref/System.Security.SecureString.dll",
506 "build/netstandard2.0/ref/System.ServiceModel.Web.dll",
507 "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
508 "build/netstandard2.0/ref/System.Text.Encoding.dll",
509 "build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
510 "build/netstandard2.0/ref/System.Threading.Overlapped.dll",
511 "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
512 "build/netstandard2.0/ref/System.Threading.Tasks.dll",
513 "build/netstandard2.0/ref/System.Threading.Thread.dll",
514 "build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
515 "build/netstandard2.0/ref/System.Threading.Timer.dll",
516 "build/netstandard2.0/ref/System.Threading.dll",
517 "build/netstandard2.0/ref/System.Transactions.dll",
518 "build/netstandard2.0/ref/System.ValueTuple.dll",
519 "build/netstandard2.0/ref/System.Web.dll",
520 "build/netstandard2.0/ref/System.Windows.dll",
521 "build/netstandard2.0/ref/System.Xml.Linq.dll",
522 "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
523 "build/netstandard2.0/ref/System.Xml.Serialization.dll",
524 "build/netstandard2.0/ref/System.Xml.XDocument.dll",
525 "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
526 "build/netstandard2.0/ref/System.Xml.XPath.dll",
527 "build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
528 "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
529 "build/netstandard2.0/ref/System.Xml.dll",
530 "build/netstandard2.0/ref/System.dll",
531 "build/netstandard2.0/ref/mscorlib.dll",
532 "build/netstandard2.0/ref/netstandard.dll",
533 "build/netstandard2.0/ref/netstandard.xml",
534 "lib/netstandard1.0/_._",
535 "netstandard.library.2.0.3.nupkg.sha512",
536 "netstandard.library.nuspec"
537 ]
538 },
17 "FNA/1.0.0": {
539 "FNA/1.0.0": {
18 "type": "project",
540 "type": "project",
19 "path": "../../FNA/FNA.csproj",
541 "path": "../../FNA/FNA.Core.csproj",
20 "msbuildProject": "../../FNA/FNA.csproj"
542 "msbuildProject": "../../FNA/FNA.Core.csproj"
21 }
543 }
22 },
544 },
23 "projectFileDependencyGroups": {
545 "projectFileDependencyGroups": {
24 ".NETFramework,Version=v4.5": [
546 ".NETFramework,Version=v4.5": [
25 "FNA >= 1.0.0"
547 "FNA >= 1.0.0",
548 "Microsoft.NETFramework.ReferenceAssemblies >= 1.0.0"
549 ],
550 ".NETStandard,Version=v2.0": [
551 "FNA >= 1.0.0",
552 "NETStandard.Library >= 2.0.3"
26 ]
553 ]
27 },
554 },
28 "packageFolders": {
555 "packageFolders": {
@@ -31,26 +558,37
31 "project": {
558 "project": {
32 "version": "1.0.0",
559 "version": "1.0.0",
33 "restore": {
560 "restore": {
34 "projectUniqueName": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
561 "projectUniqueName": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
35 "projectName": "SpriteFontPlus",
562 "projectName": "SpriteFontPlus",
36 "projectPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
563 "projectPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
37 "packagesPath": "/Users/alys/.nuget/packages/",
564 "packagesPath": "/Users/alys/.nuget/packages/",
38 "outputPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/",
565 "outputPath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/obj/",
39 "projectStyle": "PackageReference",
566 "projectStyle": "PackageReference",
567 "crossTargeting": true,
40 "configFilePaths": [
568 "configFilePaths": [
41 "/Users/alys/.config/NuGet/NuGet.Config"
569 "/Users/alys/.nuget/NuGet/NuGet.Config"
42 ],
570 ],
43 "originalTargetFrameworks": [
571 "originalTargetFrameworks": [
44 "net45"
572 "net45",
573 "netstandard2.0"
45 ],
574 ],
46 "sources": {
575 "sources": {
47 "https://api.nuget.org/v3/index.json": {}
576 "https://api.nuget.org/v3/index.json": {}
48 },
577 },
49 "frameworks": {
578 "frameworks": {
50 "net45": {
579 "net45": {
580 "targetAlias": "net45",
51 "projectReferences": {
581 "projectReferences": {
52 "/Users/alys/repos/isometric-park-fna/FNA/FNA.csproj": {
582 "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": {
53 "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.csproj"
583 "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj"
584 }
585 }
586 },
587 "netstandard2.0": {
588 "targetAlias": "netstandard2.0",
589 "projectReferences": {
590 "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj": {
591 "projectPath": "/Users/alys/repos/isometric-park-fna/FNA/FNA.Core.csproj"
54 }
592 }
55 }
593 }
56 }
594 }
@@ -63,7 +601,38
63 },
601 },
64 "frameworks": {
602 "frameworks": {
65 "net45": {
603 "net45": {
66 "runtimeIdentifierGraphPath": "/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/RuntimeIdentifierGraph.json"
604 "targetAlias": "net45",
605 "dependencies": {
606 "Microsoft.NETFramework.ReferenceAssemblies": {
607 "suppressParent": "All",
608 "target": "Package",
609 "version": "[1.0.0, )",
610 "autoReferenced": true
611 }
612 },
613 "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/5.0.202/RuntimeIdentifierGraph.json"
614 },
615 "netstandard2.0": {
616 "targetAlias": "netstandard2.0",
617 "dependencies": {
618 "NETStandard.Library": {
619 "suppressParent": "All",
620 "target": "Package",
621 "version": "[2.0.3, )",
622 "autoReferenced": true
623 }
624 },
625 "imports": [
626 "net461",
627 "net462",
628 "net47",
629 "net471",
630 "net472",
631 "net48"
632 ],
633 "assetTargetFallback": true,
634 "warn": true,
635 "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/5.0.202/RuntimeIdentifierGraph.json"
67 }
636 }
68 }
637 }
69 }
638 }
@@ -1,8 +1,13
1 {
1 {
2 "version": 2,
2 "version": 2,
3 "dgSpecHash": "kUPsWi+W/I8KOuiF0fQ9nWh1vVsW3b0wAQVjldBK6JNRF3usvNENwsXcLXddNG6Wh/129HHhkfaanQmLUK7wcA==",
3 "dgSpecHash": "3R9WDhpmDP/ybl/9zAzE/8D8e7oHOYnPI6vqSMFXlQArdzsXsOcO+zrPKGiDeMip0lN4Lm30Wumk1II5bYeXkA==",
4 "success": true,
4 "success": true,
5 "projectFilePath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.csproj",
5 "projectFilePath": "/Users/alys/repos/isometric-park-fna/SpriteFontPlus/src/SpriteFontPlus.FNA.Core.csproj",
6 "expectedPackageFiles": [],
6 "expectedPackageFiles": [
7 "/Users/alys/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
8 "/Users/alys/.nuget/packages/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg.sha512",
9 "/Users/alys/.nuget/packages/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg.sha512",
10 "/Users/alys/.nuget/packages/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg.sha512"
11 ],
7 "logs": []
12 "logs": []
8 } No newline at end of file
13 }
@@ -82,7 +82,7
82 if (this.ticksToSend > 0)
82 if (this.ticksToSend > 0)
83 {
83 {
84
84
85 System.Console.WriteLine("{0} ticks to send in update", this.ticksToSend);
85 Logging.Trace(String.Format("{0} ticks to send in update", this.ticksToSend));
86 }
86 }
87 for (int i = ticksToSend; i > 0; i--)
87 for (int i = ticksToSend; i > 0; i--)
88 {
88 {
@@ -1,4 +1,5
1 using System;
1 using System;
2 using System.Diagnostics;
2 using System.Linq;
3 using System.Linq;
3 using System.Collections.Generic;
4 using System.Collections.Generic;
4
5
@@ -43,10 +44,28
43 this.simulation = simulation;
44 this.simulation = simulation;
44 this.grammar = grammar;
45 this.grammar = grammar;
45 }
46 }
46 private Vector2[] CreateArea(int start_x, int start_y, int max_size, HashSet<Vector2> occupied_squares)
47 private Vector2 FindStart(HashSet<Vector2> occupied_squares)
47 {
48 {
48 var squares = new List<Vector2>(new[] { new Vector2(start_x, start_y) });
49
49 var squares_to_add = new HashSet<Vector2>();
50 Vector2 new_square;
51
52 for (int i = 0; i < 5; i++)
53 {
54 new_square = new Vector2(random_generator.Next(0, 50), random_generator.Next(0, 50));
55
56 if (!occupied_squares.Contains(new_square))
57 {
58 return new_square;
59 }
60 }
61 // return null;
62 return Vector2.Zero;
63 }
64
65 private Vector2[] CreateArea(int start_x, int start_y, int max_size, HashSet<Vector2> occupied_squares, float odds = 0.5f)
66 {
67 var squares = new List<Vector2>(new[] { new Vector2(start_x, start_y) });
68 var squares_to_add = new HashSet<Vector2>();
50
69
51 var attempts = 0;
70 var attempts = 0;
52 var maxAttempts = max_size * 10;
71 var maxAttempts = max_size * 10;
@@ -60,12 +79,12
60 new Vector2(square.X - 1, square.Y),
79 new Vector2(square.X - 1, square.Y),
61 new Vector2(square.X, square.Y - 1)})
80 new Vector2(square.X, square.Y - 1)})
62 {
81 {
63 if (random_generator.NextDouble() < 0.5
82 if (random_generator.NextDouble() < odds
64 && !squares.Contains(new_square)
83 && !squares.Contains(new_square)
65 && !occupied_squares.Contains(new_square)
84 && !occupied_squares.Contains(new_square)
66 && MathUtils.Between(new_square.X, 0, this.MapWidth)
85 && MathUtils.Between(new_square.X, 0, this.MapWidth)
67 && MathUtils.Between(new_square.Y, 0, this.MapHeight)
86 && MathUtils.Between(new_square.Y, 0, this.MapHeight)
68 )
87 )
69 {
88 {
70 squares_to_add.Add(new_square);
89 squares_to_add.Add(new_square);
71 }
90 }
@@ -74,99 +93,129
74 }
93 }
75 var remaining = max_size - squares.Count;
94 var remaining = max_size - squares.Count;
76 squares.AddRange(squares_to_add.Take(remaining));
95 squares.AddRange(squares_to_add.Take(remaining));
77 squares_to_add.Clear();
96 squares_to_add.Clear();
78
97
79 if (attempts >= maxAttempts && squares.Count < max_size)
98 if (attempts >= maxAttempts && squares.Count < max_size)
80 {
99 {
81 Logging.Warning(string.Format("Failed to generate enough squares. {0} were requested, only {1} were found ({2} attempts)", max_size, squares.Count, attempts));
100 Logging.Warning(string.Format("Failed to generate enough squares. {0} were requested, only {1} were found ({2} attempts)", max_size, squares.Count, attempts));
82 break;
101 break;
83 }
102 }
84 }
103 }
85 return squares.ToArray();
104 return squares.ToArray();
86 }
105 }
87
106
88 protected override void Spawn(in SpawnContractMessage message)
107 protected override void Spawn(in SpawnContractMessage message)
89 {
108 {
90
109
91
110
92 //for now:
111 //for now:
93 var occupied = new List<Vector2>();
112 var occupied = new List<Vector2>();
94
113
95 var contractOrganizations = ReadEntities<OffersContractsComponent>().ToArray();
114 var contractOrganizations = ReadEntities<OffersContractsComponent>().ToArray();
96
115
97 var contractCount = contractOrganizations.Count();
116 var contractCount = contractOrganizations.Count();
98 OrganizationType organization_type = OrganizationType.Unspecified;
117 OrganizationType organization_type = OrganizationType.Unspecified;
99 var organization_index = random_generator.Next(0, contractCount);
118 var organization_index = random_generator.Next(0, contractCount);
100
119
101 if (contractCount > 0)
120 if (contractCount > 0)
102 {
121 {
103 organization_type = GetComponent<OrganizationTypeComponent>(contractOrganizations[organization_index]).type;
122 organization_type = GetComponent<OrganizationTypeComponent>(contractOrganizations[organization_index]).type;
104 }
123 }
105
124
106 foreach (var (entity, status) in ReadEntities<AreaComponent>().SelectWhereF((e) => (e, GetComponent<ContractStatusComponent>(e)),
125 foreach (var (entity, status) in ReadEntities<AreaComponent>().SelectWhereF((e) => (e, GetComponent<ContractStatusComponent>(e)),
107 (e) => (e.Item2.status != ContractStatus.Expired))
126 (e) => (e.Item2.status != ContractStatus.Expired))
108 )
127 )
109 {
128 {
110 var entitySquares = GetComponent<AreaComponent>(entity).squares;
129 var entitySquares = GetComponent<AreaComponent>(entity).squares;
111 occupied.AddRange(entitySquares);
130 occupied.AddRange(entitySquares);
112 }
131 }
113
114 var start_x = random_generator.Next(0, 50);
115 var start_y = random_generator.Next(0, 50);
116
132
117 var image_index = random_generator.Next(1, 7);
133 var start = this.FindStart(new HashSet<Vector2>(occupied));
134 var start_x = (int)start.X;
135 var start_y = (int)start.Y;
118
136
119 int max_squares = (message.max_squares == 0) ? DEFAULT_SQUARES : message.max_squares;
137 var image_index = random_generator.Next(1, 7);
120 int min_squares = (message.min_squares == null) ? DEFAULT_MIN_SQUARES : (int)message.min_squares;
121 Vector2[] squares = (message.squares == null) ? CreateArea(start_x, start_y, max_squares, new HashSet<Vector2>(occupied)) : message.squares;
122
138
123
139 int max_squares = (message.max_squares == 0) ? DEFAULT_SQUARES : message.max_squares;
124 if (squares.Length > min_squares)
140 int min_squares = (message.min_squares == null) ? DEFAULT_MIN_SQUARES : (int)message.min_squares;
125 {
126 var contract = CreateEntity();
127
141
128
142
129 if (contractCount > 0)
143 var odds_to_try = new[] {0.5f, 0.75f, 1.0f, 1.0f};
130 {
144 var retry_location = new[] {false, false, false, true};
131 AddComponent(contract, new RelatedOrganizationComponent { Entity = contractOrganizations[organization_index] });
145 Debug.Assert(odds_to_try.Count() == retry_location.Count());
132 }
146 // foreach( double odds in odds_to_try )
147 for(int i = 0; i < odds_to_try.Count(); i++)
148 {
149
150 Vector2[] squares = (message.squares == null) ?
151 CreateArea(start_x, start_y, max_squares, new HashSet<Vector2>(occupied)) : message.squares;
152 if(i > 0)
153 {
154 Logging.Info(String.Format("Creating area using a {0} chance didn't work, using {1}.", odds_to_try[i-1], odds_to_try[i]));
155 }
156
157 if (retry_location[i])
158 {
159 var old_start_x = start_x;
160 var old_start_y = start_y;
161 start = this.FindStart(new HashSet<Vector2>(occupied));
162
163 start_x = (int)start.X;
164 start_y = (int)start.Y;
165 Logging.Info(String.Format("Creating area using original location ({0}, {1}) didn't work, trying a new one. {2} {3}",
166 old_start_x, old_start_y, start_x, start_y));
167 }
168
169
170 if (squares.Length > min_squares)
171 {
172 var contract = CreateEntity();
133
173
134
174
135 var deltaTrees = organization_type switch {
175 if (contractCount > 0)
176 {
177 AddComponent(contract, new RelatedOrganizationComponent { Entity = contractOrganizations[organization_index] });
178 }
136
179
137 OrganizationType.Family => random_generator.Next(-10, 3),
180 var deltaTrees = organization_type switch {
138 OrganizationType.LargeCorporation => random_generator.Next(-20, 0),
139 OrganizationType.Cooperative => random_generator.Next(-1, 3),
140 _ => random_generator.Next(-20, 3)
141 };
142
181
143 var contract_amount = organization_type switch {
182 OrganizationType.Family => random_generator.Next(-10, 3),
144 OrganizationType.Family => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM/2),
183 OrganizationType.LargeCorporation => random_generator.Next(-20, 0),
145 OrganizationType.LargeCorporation => random_generator.Next(CONTRACT_MINIMUM*2, CONTRACT_MAXIMUM),
184 OrganizationType.Cooperative => random_generator.Next(-1, 3),
146 OrganizationType.Cooperative => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM/2),
185 _ => random_generator.Next(-20, 3)
147 _ => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM)
186 };
148
187
149 };
188 var contract_amount = organization_type switch {
150
189 OrganizationType.Family => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM/2),
190 OrganizationType.LargeCorporation => random_generator.Next(CONTRACT_MINIMUM*2, CONTRACT_MAXIMUM),
191 OrganizationType.Cooperative => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM/2),
192 _ => random_generator.Next(CONTRACT_MINIMUM, CONTRACT_MAXIMUM)
193 };
151
194
152 // AddComponent
195 // AddComponent
153 AddComponent(contract, new AreaComponent { squares = squares });
196 AddComponent(contract, new AreaComponent { squares = squares });
154 AddComponent(contract, new NameAndDescriptionComponent { DisplayName = this.grammar.Flatten(message.name) });
197 AddComponent(contract, new NameAndDescriptionComponent { DisplayName = this.grammar.Flatten(message.name) });
155 AddComponent(contract, new SelectedComponent { selected = false });
198 AddComponent(contract, new SelectedComponent { selected = false });
156 AddComponent(contract, new ContractStatusComponent { status = ContractStatus.Proposed, date = this.simulation.DateTime });
199 AddComponent(contract, new ContractStatusComponent { status = ContractStatus.Proposed, date = this.simulation.DateTime });
157 AddComponent(contract, new TreeDeltaComponent { deltaTrees = deltaTrees });
200 AddComponent(contract, new TreeDeltaComponent { deltaTrees = deltaTrees });
158 AddComponent(contract, new BudgetLineComponent
201 AddComponent(contract, new BudgetLineComponent
159 {
202 {
160 category = "Contracts",
203 category = "Contracts",
161 //Round to the nearest $5
204 //Round to the nearest $5
162 amount = (decimal)((contract_amount / 5) * 5)
205 amount = (decimal)((contract_amount / 5) * 5)
163 });
206 });
164 AddComponent(contract, new ImageComponent {ImageIndex = image_index});
207 AddComponent(contract, new ImageComponent {ImageIndex = image_index});
165 AddComponent(contract, new WindowTypeComponent { type = Window.Contract});
208 AddComponent(contract, new WindowTypeComponent { type = Window.Contract});
166 AddComponent(contract, new VisibilityComponent { visible = false});
209 AddComponent(contract, new VisibilityComponent { visible = false});
210 return;
167
211
168 }
212 }
213 else {
214 }
215 }
169
216
170 }
217 Logging.Warning("Never generated enough squares for area.");
171 }
218
219 }
220 }
172 }
221 }
You need to be logged in to leave comments. Login now