public void HandlePlayerDeckDiscard(Entity entity, string cardId, int turn) { _game.Player.DeckDiscard(entity, turn); DeckManager.DetectCurrentDeck().Forget(); Core.UpdatePlayerCards(); GameEvents.OnPlayerDeckDiscard.Execute(Database.GetCardFromId(cardId)); }
public void HandlePlayerSecretPlayed(Entity entity, string cardId, int turn, Zone fromZone) { if (string.IsNullOrEmpty(cardId)) { return; } if (!entity.IsSecret) { if (entity.IsQuest) { _game.Player.QuestPlayedFromHand(entity, turn); GameEvents.OnPlayerPlay.Execute(Database.GetCardFromId(cardId)); } return; } switch (fromZone) { case Zone.DECK: _game.Player.SecretPlayedFromDeck(entity, turn); DeckManager.DetectCurrentDeck().Forget(); break; case Zone.HAND: _game.Player.SecretPlayedFromHand(entity, turn); _game.SecretsManager.HandleCardPlayed(entity); break; default: _game.Player.CreateInSecret(entity, turn); return; } Core.UpdatePlayerCards(); GameEvents.OnPlayerPlay.Execute(Database.GetCardFromId(cardId)); }
public void HandlePlayerDraw(Entity entity, string cardId, int turn) { if (string.IsNullOrEmpty(cardId)) { return; } if (cardId == "GAME_005") { HandlePlayerGet(entity, cardId, turn); } else { _game.Player.Draw(entity, turn); Core.UpdatePlayerCards(); DeckManager.DetectCurrentDeck().Forget(); } GameEvents.OnPlayerDraw.Execute(Database.GetCardFromId(cardId)); }
public void HandlePlayerRemoveFromDeck(Entity entity, int turn) { _game.Player.RemoveFromDeck(entity, turn); DeckManager.DetectCurrentDeck().Forget(); Core.UpdatePlayerCards(); }