public BoardTokenLabel(TokenBunch bunch, int playerId, string playerName, int elementId) { Tokens = bunch; PlayerId = playerId; PlayerName = playerName; ElementId = elementId; }
public void AddTokens(TokenDefinition token, int playerId, int amount) { TokenBunch bunch = Tokens .Where(t => t.PlayerId == playerId && t.Token.Id == token.Id) .FirstOrDefault(); if (bunch == null) { Tokens.Add(new TokenBunch(token, amount, playerId)); } else { bunch.Amount += amount; } }
public void SetTokens(TokenDefinition token, int playerId, int amount) { TokenBunch bunch = Tokens .Where(t => t.PlayerId == playerId && t.Token.Id == token.Id) .FirstOrDefault(); if (bunch != null) { AddTokens(token, playerId, amount - bunch.Amount); } else { AddTokens(token, playerId, amount); } }
public int GetTokenAmount(TokenDefinition token, int playerId = -1) { if (playerId == -1) { return(Tokens .Where(t => t.Token.Id == token.Id) .Sum(t => t.Amount)); } TokenBunch bunch = Tokens .Where(t => t.PlayerId == playerId && t.Token.Id == token.Id) .FirstOrDefault(); return(bunch != null ? bunch.Amount : 0); }