Exemple #1
0
 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));
 }
Exemple #2
0
        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));
        }
Exemple #3
0
 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));
 }
Exemple #4
0
 public void HandlePlayerRemoveFromDeck(Entity entity, int turn)
 {
     _game.Player.RemoveFromDeck(entity, turn);
     DeckManager.DetectCurrentDeck().Forget();
     Core.UpdatePlayerCards();
 }