예제 #1
0
 public override void Action(object info = null)
 {
     base.Action(info);
     if (SetType == Enumerators.SetType.NONE || SetType != Enumerators.SetType.NONE && PlayerCallerOfAbility
         .BoardCards.FindAll(x => x.Card.LibraryCard.CardSetType == SetType && x != AbilityUnitOwner).Count > 0)
     {
         if (AbilityTargetTypes.Count > 0)
         {
             if (AbilityTargetTypes[0] == Enumerators.AbilityTargetType.PLAYER)
             {
                 CardsController.AddCardToHandFromOtherPlayerDeck(PlayerCallerOfAbility, PlayerCallerOfAbility);
             }
             else if (AbilityTargetTypes[0] == Enumerators.AbilityTargetType.OPPONENT)
             {
                 CardsController.AddCardToHandFromOtherPlayerDeck(PlayerCallerOfAbility,
                                                                  PlayerCallerOfAbility.Equals(GameplayManager.CurrentPlayer) ?
                                                                  GameplayManager.OpponentPlayer :
                                                                  GameplayManager.CurrentPlayer);
             }
         }
         else
         {
             CardsController.AddCardToHand(PlayerCallerOfAbility);
         }
     }
 }
예제 #2
0
        public void StartGameplayTurns()
        {
            StartTurn();

            if (!_gameplayManager.IsTutorial)
            {
                Player player = _gameplayManager.CurrentTurnPlayer.IsLocalPlayer ?
                                _gameplayManager.OpponentPlayer :
                                _gameplayManager.CurrentPlayer;
                _cardsController.AddCardToHand(player);
            }
        }
예제 #3
0
        private void DrawAction(Player owner, BoardSkill boardSkill, HeroSkill skill, object target)
        {
            _cardsController.AddCardToHand(owner);

            _vfxController.CreateVfx(_loadObjectsManager.GetObjectByPath <GameObject>("Prefabs/VFX/Skills/DrawCardVFX"),
                                     owner);
            _soundManager.PlaySound(Enumerators.SoundType.OVERLORD_ABILITIES, skill.OverlordSkill.ToString().ToLower(),
                                    Constants.OverlordAbilitySoundVolume, Enumerators.CardSoundType.NONE);

            _actionsQueueController.PostGameActionReport(_actionsQueueController.FormatGameActionReport(
                                                             Enumerators.ActionType.DRAW_CARD_SKILL, new object[]
            {
                owner, skill
            }));
        }
예제 #4
0
        public override void Action(object info = null)
        {
            base.Action(info);

            if (PlayerCallerOfAbility.GooOnCurrentTurn == Constants.MaximumPlayerGoo)
            {
                for (int i = 0; i < Count; i++)
                {
                    CardsController.AddCardToHand(PlayerCallerOfAbility);
                }
            }
            else if (PlayerCallerOfAbility.GooOnCurrentTurn == Constants.MaximumPlayerGoo - 1)
            {
                for (int i = 0; i < Count - 1; i++)
                {
                    CardsController.AddCardToHand(PlayerCallerOfAbility);
                }
            }

            PlayerCallerOfAbility.GooOnCurrentTurn += Value;
        }