Example #1
0
        public void SendCardToGraveyard(TakeCardAbilityEventInfo tkeCardInfo, RectTransform cardRect)
        {
            ISendCardToGraveyardCommand destroyCardCmd = new ISendCardToGraveyardCommand(tkeCardInfo.cardTaker, tkeCardInfo.card);

            Invoker.AddNewCommand(destroyCardCmd);
            Invoker.ExecuteCommands();

            //Motion sendToGraveyardMotion = cardManagerUI.OnCardSendToGraveyard(cardRect, tkeCardInfo.cardTaker.PlayerID);
            //InvokerMotion.AddNewMotion(sendToGraveyardMotion);
            //InvokerMotion.StartExecution(cardManagerUI);

            Animotion sendToGraveyardMotion = cardManagerUI.OnCardSendToGraveyardAnimotion(cardRect, tkeCardInfo.cardTaker.OwnerPlayerID);

            InvokerAnimotion.AddNewMotion(sendToGraveyardMotion);
            InvokerAnimotion.StartExecution(cardManagerUI);
        }
Example #2
0
        private void TakeCardFromDeck(TakeCardAbilityEventInfo tkeCardInfo)
        {
            IAddCardCommand addCardCmd = new IAddCardCommand(tkeCardInfo.cardTaker, tkeCardInfo.card);

            Invoker.AddNewCommand(addCardCmd);
            Invoker.ExecuteCommands();

            GameObject cardGo = cardManagerUI.CreateNewCardPrefab(tkeCardInfo.card, tkeCardInfo.cardTaker.OwnerPlayerID, this);
            //Motion takeCardMotion = cardManagerUI.AddCard(cardGo, tkeCardInfo.cardTaker.PlayerID);
            //InvokerMotion.AddNewMotion(takeCardMotion);
            //InvokerMotion.StartExecution(cardManagerUI);

            Animotion takeCardMotion = cardManagerUI.AddCardAnimotion(cardGo, tkeCardInfo.cardTaker.OwnerPlayerID);

            InvokerAnimotion.AddNewMotion(takeCardMotion);
            InvokerAnimotion.StartExecution(cardManagerUI);

            // ENTRAMOS EN ESTE ESTADO PARA PODER TOMAR LA CARD Y SOLO VER LA ANIMACION
            TakeCardState spawn = new TakeCardState(game, game.baseStateMachine.currentState);

            game.baseStateMachine.PopState(true);
            game.baseStateMachine.PushState(spawn);
        }
Example #3
0
        public void OnTakeCard(Player player)
        {
            TakeCardAbility          takceCardAbility = (TakeCardAbility)player.Abilities[ABILITYTYPE.TAKEACARD];
            TakeCardAbilityEventInfo tkeCardInfo      = new TakeCardAbilityEventInfo(player, PeekCardFromDeck(player), PeekCardFromDeck(player).IDInGame);

            takceCardAbility.SetRequireGameData(tkeCardInfo);
            StartPerform(takceCardAbility);
            if (takceCardAbility.CanIExecute() == false)
            {
                if (debugOn)
                {
                    Debug.Log("SPAWN ABILITY NO SE PUEDE EJECUTAR");
                }
                return;
            }
            tkeCardInfo.card = TakeCardFromDeck(player);
            TakeCardFromDeck(tkeCardInfo);

            Perform(takceCardAbility);


            EndPerform(takceCardAbility);
            //cardIndex++;
        }