Mercurial > repos > IBBoard.WarFoundry.API
diff api/Objects/Unit.cs @ 158:eb9a6d91a6db
Fixes #190: Mutex groups aren't honoured when adding equipment
* Make "get additional equipment" method check mutex groups
Also:
* Line ending cleanup
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 29 Sep 2009 19:50:46 +0000 |
parents | 4a02c07278e7 |
children | 81abc04b3dbe |
line wrap: on
line diff
--- a/api/Objects/Unit.cs Tue Sep 29 19:33:03 2009 +0000 +++ b/api/Objects/Unit.cs Tue Sep 29 19:50:46 2009 +0000 @@ -220,13 +220,33 @@ } } - public UnitEquipmentItem[] GetAllowedOptionalEquipment() + public UnitEquipmentItem[] GetAllowedAdditionalEquipment() { List<UnitEquipmentItem> list = new List<UnitEquipmentItem>(); + List<string> existingMutexGroups = new List<string>(); + + foreach (UnitEquipmentItem item in GetEquipment()) + { + foreach (string mutex in item.MutexGroups) + { + existingMutexGroups.Add(mutex); + } + } foreach (UnitEquipmentItem item in UnitType.GetEquipmentItems()) { - if (!item.IsRequired) + bool mutexMatch = false; + + foreach (string mutex in item.MutexGroups) + { + if (existingMutexGroups.Contains(mutex)) + { + mutexMatch = true; + break; + } + } + + if (!mutexMatch) { list.Add(item); }