# HG changeset patch
# User Tsudico
# Date 1292711672 0
# Node ID ed5e6d92ecd97c9e7aa5ad9dfd7a3731ba13bf50
# Parent f8f441f2fcfea16baa71dee6259da4c81fb0d96c
Re #323: WarFoundry.API - SystemStats cannot remove stat
Remove code didn't fully remove stat, this has been fixed and tested
diff -r f8f441f2fcfe -r ed5e6d92ecd9 api/Objects/SystemStats.cs
--- a/api/Objects/SystemStats.cs Sat Dec 18 20:53:52 2010 +0000
+++ b/api/Objects/SystemStats.cs Sat Dec 18 22:34:32 2010 +0000
@@ -1,73 +1,71 @@
-// This file (SystemStats.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2007, 2008, 2009 IBBoard.
-//
-// The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
-
-using System;
-using System.Collections.Generic;
-
-namespace IBBoard.WarFoundry.API.Objects
-{
- ///
- /// SystemStats defines the available statistics/attributes that entity types can use (either a unit or an equipment item that has a stats line). Statistic/attribute values will be defined by a object.
- ///
- public class SystemStats
- {
- private Dictionary statsByName;
- private List stats;
- private string id;
-
- public SystemStats(string statsID)
- {
- id = statsID;
- statsByName = new Dictionary();
- stats = new List();
- }
-
- public void AddStatSlot(string slotName)
- {
- StatSlot slot = new StatSlot(slotName);
- slot.SystemStats = this;
- statsByName[slot.Name.ToLower()] = slot;
- stats.Add(slot);
- }
-
- public StatSlot[] StatSlots
- {
- get
- {
- return stats.ToArray();
- }
- }
-
- public StatSlot this[string statName]
- {
- get
- {
- return DictionaryUtils.GetValue(statsByName, statName.ToLower());
- }
- }
-
- public int GetStatSlotPosition(StatSlot slot)
- {
- return stats.IndexOf(slot);
- }
-
- public void RemoveStatSlot(string name)
- {
+// This file (SystemStats.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2007, 2008, 2009 IBBoard.
+//
+// The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
+
+using System;
+using System.Collections.Generic;
+
+namespace IBBoard.WarFoundry.API.Objects
+{
+ ///
+ /// SystemStats defines the available statistics/attributes that entity types can use (either a unit or an equipment item that has a stats line). Statistic/attribute values will be defined by a object.
+ ///
+ public class SystemStats
+ {
+ private Dictionary statsByName;
+ private List stats;
+ private string id;
+
+ public SystemStats(string statsID)
+ {
+ id = statsID;
+ statsByName = new Dictionary();
+ stats = new List();
+ }
+
+ public void AddStatSlot(string slotName)
+ {
+ StatSlot slot = new StatSlot(slotName);
+ slot.SystemStats = this;
+ statsByName[slot.Name.ToLower()] = slot;
+ stats.Add(slot);
+ }
+
+ public StatSlot[] StatSlots
+ {
+ get
+ {
+ return stats.ToArray();
+ }
+ }
+
+ public StatSlot this[string statName]
+ {
+ get
+ {
+ return DictionaryUtils.GetValue(statsByName, statName.ToLower());
+ }
+ }
+
+ public int GetStatSlotPosition(StatSlot slot)
+ {
+ return stats.IndexOf(slot);
+ }
+
+ public void RemoveStatSlot(string name)
+ {
statsByName.Remove(name);
- StatSlot slot = new StatSlot(name);
- slot.SystemStats = this;
- stats.Remove(slot);
- }
-
- public int SlotCount
- {
- get { return stats.Count; }
- }
-
- public string ID
- {
- get { return id; }
- }
- }
-}
+ stats.Remove(this[name]);
+ }
+
+ public int SlotCount
+ {
+ get { return stats.Count; }
+ }
+
+ public string ID
+ {
+ get { return id; }
+ }
+ }
+}