Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison API/Objects/Requirement/RequiresNUnitsForMUnitsRequirement.cs @ 453:dace3b7779ca
Re #379: Fix validation of requirements to check for unit
* Restructure all validation messages to a common base system that will translate better
* Update "No More Than" texts to differentiate two contexts (adding and validating)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 29 Jan 2012 20:05:25 +0000 |
parents | dbd779cdc0f9 |
children | def5d333c5e8 |
comparison
equal
deleted
inserted
replaced
452:b671085871b7 | 453:dace3b7779ca |
---|---|
14 private UnitType allowedType; | 14 private UnitType allowedType; |
15 | 15 |
16 public RequiresNUnitsForMUnitsRequirement(UnitType allowedType, params UnitType[] requiredUnitTypes) | 16 public RequiresNUnitsForMUnitsRequirement(UnitType allowedType, params UnitType[] requiredUnitTypes) |
17 { | 17 { |
18 this.allowedType = allowedType; | 18 this.allowedType = allowedType; |
19 FailureStringPrefix = "Army must contain: "; | |
20 requiredTypes = new List<UnitCountRequirementData>(); | 19 requiredTypes = new List<UnitCountRequirementData>(); |
21 | 20 |
22 foreach (UnitType unitType in requiredUnitTypes) | 21 foreach (UnitType unitType in requiredUnitTypes) |
23 { | 22 { |
24 AddUnitTypeRequirement(unitType); | 23 AddUnitTypeRequirement(unitType); |
48 { | 47 { |
49 return true; | 48 return true; |
50 } | 49 } |
51 } | 50 } |
52 | 51 |
53 protected string FailureStringPrefix { get; set; } | 52 protected override string GetFailedAddingRequirementsString(UnitType toAdd, Army toArmy) |
54 | 53 { |
55 protected override string GetAllowsAddingFailedMessage(UnitType toAdd, Army toArmy) | 54 return String.Join("; ", GetFailedAddingRequirements(toAdd, toArmy).ToArray()); |
56 { | |
57 StringBuilder sb = new StringBuilder(); | |
58 sb.Append(FailureStringPrefix); | |
59 sb.Append(String.Join("; ", GetFailedAddingRequirements(toAdd, toArmy).ToArray())); | |
60 sb.Append("."); | |
61 return sb.ToString(); | |
62 } | 55 } |
63 | 56 |
64 private List<string> GetFailedAddingRequirements(UnitType unitType, Army toArmy) | 57 private List<string> GetFailedAddingRequirements(UnitType unitType, Army toArmy) |
65 { | 58 { |
66 List<string> failures = new List<string>(); | 59 List<string> failures = new List<string>(); |
178 } | 171 } |
179 | 172 |
180 return canAdd; | 173 return canAdd; |
181 } | 174 } |
182 | 175 |
183 protected override string GetValidationFailedMessage(Army army) | 176 protected override string GetFailedRequirementsString(Army army) |
184 { | 177 { |
185 StringBuilder sb = new StringBuilder(); | 178 return String.Join("; ", GetFailedValidationRequirements(army).ToArray()); |
186 sb.Append(FailureStringPrefix); | |
187 sb.Append(String.Join("; ", GetFailedValidationRequirements(army).ToArray())); | |
188 sb.Append("."); | |
189 return sb.ToString(); | |
190 } | 179 } |
191 | 180 |
192 private List<string> GetFailedValidationRequirements(Army army) | 181 private List<string> GetFailedValidationRequirements(Army army) |
193 { | 182 { |
194 List<string> failures = new List<string>(); | 183 List<string> failures = new List<string>(); |