public override void RemovedFrom(DeckLocation location, Player player) { base.RemovedFrom(location, player); if (_CostComputeEventHandler != null) { player._Game.CostCompute -= _CostComputeEventHandler; } _CostComputeEventHandler = null; }
public override void AddedTo(DeckLocation location, Player player) { base.AddedTo(location, player); if (location == DeckLocation.InPlay) { if (_CostComputeEventHandler != null) { player._Game.CostCompute -= _CostComputeEventHandler; } _CostComputeEventHandler = new Game.CostComputeEventHandler(player_PrincessInPlayArea); player._Game.CostCompute += _CostComputeEventHandler; player._Game.SendMessage(player, this, 2); } }
public override void RemovedFrom(DeckLocation location, Player player) { base.RemovedFrom(location, player); if (_CostComputeEventHandler != null) player._Game.CostCompute -= _CostComputeEventHandler; _CostComputeEventHandler = null; }
public override void AddedTo(DeckLocation location, Player player) { base.AddedTo(location, player); if (location == DeckLocation.InPlay) { if (_CostComputeEventHandler != null) player._Game.CostCompute -= _CostComputeEventHandler; _CostComputeEventHandler = new Game.CostComputeEventHandler(player_HighwayInPlayArea); player._Game.CostCompute += _CostComputeEventHandler; player._Game.SendMessage(player, this, 1); } }
void player_CardGained(object sender, Players.CardGainEventArgs e) { // This is not the card you are looking for if (e.Card != this) return; // Clear out the Event Triggers -- the cost computation only matters when it's in the Supply foreach (Player playerLoop in _CardGainedHandlers.Keys) playerLoop.CardGained -= _CardGainedHandlers[playerLoop]; _CardGainedHandlers.Clear(); if (_CostComputeEventHandler != null) _CostComputeEventHandler = null; }
private void ResetTriggers(Game game) { IEnumerator<Player> enumPlayers = game.GetPlayersStartingWithActiveEnumerator(); while (enumPlayers.MoveNext()) { _CardGainedHandlers[enumPlayers.Current] = new Player.CardGainedEventHandler(player_CardGained); enumPlayers.Current.CardGained += _CardGainedHandlers[enumPlayers.Current]; } if (_CostComputeEventHandler == null) { _CostComputeEventHandler = new Game.CostComputeEventHandler(peddler_CostCompute); game.CostCompute += _CostComputeEventHandler; } }