source: binary-improvements/MapRendering/Web/API/GetWebUIUpdates.cs@ 313

Last change on this file since 313 was 313, checked in by alloc, 7 years ago

Common func: Rebased Animals and Hostiles to common base

File size: 1.4 KB
Line 
1using AllocsFixes.JSON;
2using AllocsFixes.LiveData;
3using AllocsFixes.PersistentData;
4using System;
5using System.Collections.Generic;
6using System.Net;
7
8namespace AllocsFixes.NetConnections.Servers.Web.API
9{
10 public class GetWebUIUpdates : WebAPI {
11 public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel) {
12 int latestLine;
13 if (req.QueryString ["latestLine"] == null || !int.TryParse (req.QueryString ["latestLine"], out latestLine)) {
14 latestLine = 0;
15 }
16
17 JSONObject result = new JSONObject ();
18
19 JSONObject time = new JSONObject ();
20 time.Add ("days", new JSONNumber (GameUtils.WorldTimeToDays (GameManager.Instance.World.worldTime)));
21 time.Add ("hours", new JSONNumber (GameUtils.WorldTimeToHours (GameManager.Instance.World.worldTime)));
22 time.Add ("minutes", new JSONNumber (GameUtils.WorldTimeToMinutes (GameManager.Instance.World.worldTime)));
23 result.Add ("gametime", time);
24
25 result.Add ("players", new JSONNumber (GameManager.Instance.World.Players.Count));
26 result.Add ("hostiles", new JSONNumber (Hostiles.Instance.GetCount ()));
27 result.Add ("animals", new JSONNumber (Animals.Instance.GetCount ()));
28
29 result.Add ("newlogs", new JSONNumber (LogBuffer.Instance.LatestLine - latestLine));
30
31 WriteJSON (resp, result);
32 }
33
34 public override int DefaultPermissionLevel () {
35 return 2000;
36 }
37 }
38}
39
Note: See TracBrowser for help on using the repository browser.