using AllocsFixes.JSON; using AllocsFixes.LiveData; using System; using System.Collections.Generic; using System.Net; namespace AllocsFixes.NetConnections.Servers.Web.API { class GetHostileLocation : WebAPI { public override void HandleRequest(HttpListenerRequest req, HttpListenerResponse resp, WebConnection user, int permissionLevel) { JSONArray hostilesJsResult = new JSONArray(); foreach (EntityEnemy entity in Hostiles.List) { Vector3i position = new Vector3i(entity.GetPosition()); JSONObject jsonPOS = new JSONObject(); jsonPOS.Add("x", new JSONNumber(position.x)); jsonPOS.Add("y", new JSONNumber(position.y)); jsonPOS.Add("z", new JSONNumber(position.z)); JSONObject pJson = new JSONObject(); pJson.Add("id", new JSONNumber(entity.entityId)); if (!string.IsNullOrEmpty(entity.EntityName)) pJson.Add("name", new JSONString(entity.EntityName)); else pJson.Add("name", new JSONString("enemy class #" + entity.entityClass.ToString())); pJson.Add("position", jsonPOS); hostilesJsResult.Add(pJson); } WriteJSON(resp, hostilesJsResult); } } }