source: binary-improvements2/WebServer/src/WebAPI/GetAnimalsLocation.cs@ 391

Last change on this file since 391 was 391, checked in by alloc, 2 years ago

Major refactoring/cleanup

File size: 1.3 KB
Line 
1using System.Collections.Generic;
2using AllocsFixes.JSON;
3using AllocsFixes.LiveData;
4using JetBrains.Annotations;
5
6namespace Webserver.WebAPI {
7 [UsedImplicitly]
8 internal class GetAnimalsLocation : AbsWebAPI {
9 private readonly List<EntityAnimal> animals = new List<EntityAnimal> ();
10
11 public override void HandleRequest (RequestContext _context) {
12 JsonArray animalsJsResult = new JsonArray ();
13
14 Animals.Instance.Get (animals);
15 for (int i = 0; i < animals.Count; i++) {
16 EntityAnimal entity = animals [i];
17 Vector3i position = new Vector3i (entity.GetPosition ());
18
19 JsonObject jsonPOS = new JsonObject ();
20 jsonPOS.Add ("x", new JsonNumber (position.x));
21 jsonPOS.Add ("y", new JsonNumber (position.y));
22 jsonPOS.Add ("z", new JsonNumber (position.z));
23
24 JsonObject pJson = new JsonObject ();
25 pJson.Add ("id", new JsonNumber (entity.entityId));
26
27 if (!string.IsNullOrEmpty (entity.EntityName)) {
28 pJson.Add ("name", new JsonString (entity.EntityName));
29 } else {
30 pJson.Add ("name", new JsonString ("animal class #" + entity.entityClass));
31 }
32
33 pJson.Add ("position", jsonPOS);
34
35 animalsJsResult.Add (pJson);
36 }
37
38 WebUtils.WriteJson (_context.Response, animalsJsResult);
39 }
40 }
41}
Note: See TracBrowser for help on using the repository browser.