# HG changeset patch # User IBBoard # Date 1252864852 0 # Node ID c11c0da01bbcbc3f72f703b3f750d765dd0169d7 # Parent f58051572ec7cdf21e1461b45ce0ac3ddf6cb63c Fixes #147: "Replace Weapon" button doesn't always enable (regression) r167 introduced the bug by triggering an "add item to unit type" call before the mutex group was set * Added optional mutex group parameter to constructor * Remove setter on mutex group diff -r f58051572ec7 -r c11c0da01bbc api/Factories/Xml/WarFoundryXmlRaceFactory.cs --- a/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Sun Sep 13 17:18:41 2009 +0000 +++ b/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Sun Sep 13 18:00:52 2009 +0000 @@ -154,8 +154,8 @@ if (equipItem!=null) { - UnitEquipmentItem unitEquipItem = new UnitEquipmentItem(equipItem, type); - unitEquipItem.MutexGroup = equip.GetAttribute("exclusivityGroup"); + string mutexGroup = equip.GetAttribute("exclusivityGroup"); + UnitEquipmentItem unitEquipItem = new UnitEquipmentItem(equipItem, type, mutexGroup); unitEquipItem.RoundNumberUp = equip.GetAttribute("roundDirection").Equals("up"); diff -r f58051572ec7 -r c11c0da01bbc api/Objects/UnitEquipmentItem.cs --- a/api/Objects/UnitEquipmentItem.cs Sun Sep 13 17:18:41 2009 +0000 +++ b/api/Objects/UnitEquipmentItem.cs Sun Sep 13 18:00:52 2009 +0000 @@ -25,10 +25,16 @@ private string mutexGroup; private UnitType unitType; - public UnitEquipmentItem(EquipmentItem equipmentItem, UnitType equipmentFor) + public UnitEquipmentItem(EquipmentItem equipmentItem, UnitType equipmentFor) : this(equipmentItem, equipmentFor, "") + { + //Do nothing extra + } + + public UnitEquipmentItem(EquipmentItem equipmentItem, UnitType equipmentFor, string mutexGroup) { item = equipmentItem; unitType = equipmentFor; + this.mutexGroup = mutexGroup; unitType.AddEquipmentItem(this); } @@ -102,7 +108,6 @@ public string MutexGroup { get { return mutexGroup; } - set { mutexGroup = (value == null ? "" : value.Trim()); } } public UnitType EquipmentForUnit