updating unit movement

This commit is contained in:
hz
2026-05-19 14:58:51 -05:00
parent 762143918b
commit da61ec8bf4
7 changed files with 281 additions and 23 deletions
+29 -7
View File
@@ -41,7 +41,7 @@ public class LocationResponse
public DateTime UpdatedAtUtc { get; set; }
public bool IsVisible { get; set; } = true;
public static LocationResponse FromLocation(Location location) => new()
public static LocationResponse FromLocation(Location location, bool revealDetails = true) => new()
{
Id = location.Id,
Q = location.Q,
@@ -51,16 +51,38 @@ public class LocationResponse
OwnerUsername = location.OwnerUsername,
Label = location.Label,
Level = location.Level,
BuildingType = location.BuildingType,
BuildingStatus = (location.BuildingType == "LogCamp" || location.BuildingType == "Mine" || location.BuildingType == "Barracks") && string.IsNullOrWhiteSpace(location.BuildingStatus)
BuildingType = revealDetails ? location.BuildingType : null,
BuildingStatus = revealDetails && (location.BuildingType == "LogCamp" || location.BuildingType == "Mine" || location.BuildingType == "Barracks") && string.IsNullOrWhiteSpace(location.BuildingStatus)
? "Built"
: location.BuildingStatus,
BuildingStartedAtUtc = location.BuildingStartedAtUtc,
BuildingCompletesAtUtc = location.BuildingCompletesAtUtc,
BuildingBuiltAtUtc = location.BuildingBuiltAtUtc,
: revealDetails ? location.BuildingStatus : null,
BuildingStartedAtUtc = revealDetails ? location.BuildingStartedAtUtc : null,
BuildingCompletesAtUtc = revealDetails ? location.BuildingCompletesAtUtc : null,
BuildingBuiltAtUtc = revealDetails ? location.BuildingBuiltAtUtc : null,
HomeAssignedAtUtc = location.HomeAssignedAtUtc,
UpdatedAtUtc = location.UpdatedAtUtc,
IsVisible = true
};
public static LocationResponse FromIntel(LocationIntel intel) => new()
{
Id = intel.Id,
Q = intel.Q,
R = intel.R,
Terrain = intel.Terrain,
Kind = intel.Kind,
OwnerUsername = intel.OwnerUsername,
Label = intel.Label,
Level = intel.Level,
BuildingType = intel.BuildingType,
BuildingStatus = (intel.BuildingType == "LogCamp" || intel.BuildingType == "Mine" || intel.BuildingType == "Barracks") && string.IsNullOrWhiteSpace(intel.BuildingStatus)
? "Built"
: intel.BuildingStatus,
BuildingStartedAtUtc = intel.BuildingStartedAtUtc,
BuildingCompletesAtUtc = intel.BuildingCompletesAtUtc,
BuildingBuiltAtUtc = intel.BuildingBuiltAtUtc,
HomeAssignedAtUtc = intel.HomeAssignedAtUtc,
UpdatedAtUtc = intel.ObservedAtUtc,
IsVisible = true
};
}