internal void Remove(IEnumerable <Token> tokens, Player player) { Type t = tokens.First().GetType(); this[t].RemoveAll(token => tokens.Contains(token)); if (TokenCollectionsChanged != null) { TokenCollectionsChangedEventArgs tccea = new TokenCollectionsChangedEventArgs(this[t], player, TokenCollectionsChangedEventArgs.Operation.Removed, tokens); TokenCollectionsChanged(this, tccea); } }
internal void Remove(Token token, Player player) { Type t = token.GetType(); this[t].Remove(token); if (TokenCollectionsChanged != null) { TokenCollectionsChangedEventArgs tccea = new TokenCollectionsChangedEventArgs(this[t], player, TokenCollectionsChangedEventArgs.Operation.Removed, token); TokenCollectionsChanged(this, tccea); } }
public void Add(Token token) { Type t = token.GetType(); this[t].Add(token); if (TokenCollectionsChanged != null) { TokenCollectionsChangedEventArgs tccea = new TokenCollectionsChangedEventArgs(this[t], TokenCollectionsChangedEventArgs.Operation.Added, token); TokenCollectionsChanged(this, tccea); } }
public void Remove(IEnumerable <Token> tokens) { Type t = tokens.First().GetType(); List <Token> tokensList = new List <Token>(tokens); this[t].RemoveAll(token => tokensList.Contains(token)); if (TokenCollectionsChanged != null) { TokenCollectionsChangedEventArgs tccea = new TokenCollectionsChangedEventArgs(this[t], TokenCollectionsChangedEventArgs.Operation.Removed, tokensList); TokenCollectionsChanged(this, tccea); } }
internal void Load(XmlNode xnRoot) { foreach (XmlNode xnTokenPile in xnRoot.SelectNodes("tokenpile")) { XmlNode xnType = xnTokenPile.SelectSingleNode("type"); if (xnType == null) { continue; } Type type = Type.GetType(xnType.InnerText); this[type] = TokenCollection.Load(xnTokenPile.SelectSingleNode("tokens")); if (TokenCollectionsChanged != null) { TokenCollectionsChangedEventArgs tccea = new TokenCollectionsChangedEventArgs(this[type], TokenCollectionsChangedEventArgs.Operation.Added, this[type]); TokenCollectionsChanged(this, tccea); } } }