Exemple #1
0
        public static Dictionary <ABILITYTYPE, IAbility> CreatePlayerAbilities(Player player)
        {
            Dictionary <ABILITYTYPE, IAbility> Abilities = new Dictionary <ABILITYTYPE, IAbility>();
            SpawnAbility    spawnAbility    = new SpawnAbility(player);
            TakeCardAbility takeCardAbility = new TakeCardAbility(player);

            Abilities.Add(spawnAbility.AbilityType, spawnAbility);
            Abilities.Add(takeCardAbility.AbilityType, takeCardAbility);
            return(Abilities);
        }
Exemple #2
0
        public bool CanITakeACard(Player player)
        {
            if (!IsLegalTakeCard(player))
            {
                Debug.Log("Ilegal Take Card");
                return(false);
            }

            if (player.Abilities.ContainsKey(ABILITYTYPE.TAKEACARD) == false)
            {
                if (debugOn)
                {
                    Debug.Log("El Player no tiene la Take Card Ability");
                }
                return(false);
            }

            TakeCardAbility takceCardAbility = (TakeCardAbility)player.Abilities[ABILITYTYPE.TAKEACARD];

            if (takceCardAbility == null)
            {
                if (debugOn)
                {
                    Debug.Log("La ID de la TakeCard Ability puede estar mal no funciono el casteo");
                }
                return(false);
            }

            if (player.Deck.Count <= 0)
            {
                if (debugOn)
                {
                    Debug.Log("No Cards In Deck");
                }
                return(false);
            }

            return(true);
        }
Exemple #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++;
        }