namespace GeometryTD.Definition { public enum ParticipantTowerAssignFailureReason { None = 0, TowerMissing = 1, InvalidTower = 2, AlreadyAssigned = 3, ParticipantAreaFull = 4 } public sealed class ParticipantTowerAssignResult { public long TowerInstanceId { get; set; } public bool IsSuccess => FailureReason == ParticipantTowerAssignFailureReason.None; public ParticipantTowerAssignFailureReason FailureReason { get; set; } public CombatParticipantTowerValidationFailureReason ValidationFailureReason { get; set; } } }