using AntCity.CityBuilder.DataModel.Model; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; namespace AntCity.Base.WebClient { public class AntCityApiClientComponent : MonoBehaviour { [Header("API Info")] public string ApiKey; public string ApiURL; public int ApiPort; public bool isHTTPS; public bool InitializeOnAwake; private AntCityApiClient ApiClient; public bool Initialized => ApiClient != null; private void Awake() { if (InitializeOnAwake) Initialize(); } public void Initialize() { ApiClient = new AntCityApiClient(isHTTPS, ApiURL, ApiPort, ApiKey); Debug.Log($"Created AntCityApiClient with BaseUrl '{ApiClient.BaseUrl}'"); } public async Task> GetUniverses() { return await ApiClient.GetUniverses(); } public async Task> GetCities() { return await ApiClient.GetCities(); } public async Task> GetCities(int universeId) { return await ApiClient.GetCities(universeId); } public async Task> GetCityTiles(int cityId) { List tiles = await ApiClient.GetCityTiles(cityId); return tiles; } public async Task> GetAirSpaceIntersects(string polygon) { List airSpaceList = await ApiClient.GetAirSpaceIntersects(polygon); return airSpaceList; } public async Task> GetModeledBuildingIntersects(int cityId, string polygon) { List modeledBuildingList = await ApiClient.GetModeledBuildingIntersects(cityId, polygon); return modeledBuildingList; } public async Task> GetDeletedFeatureIntersects(int cityId, string polygon) { List delFeatureList = await ApiClient.GetDeletedFeatureIntersects(cityId, polygon); return delFeatureList; } public async Task PostDeletedFeature(int cityId, string name, string assetKey, double latitude, double longitude, string polygon) { string delFeatureList = await ApiClient.PostDeletedFeature(cityId, name, assetKey, latitude, longitude, polygon); return delFeatureList; } } }