public bool IsPlayable(string cardId)
        {
            VEntity cardEntity = ecsManager.GetVEntityById(cardId);
            CardZoneDataComponent     cardZoneData  = ecsManager.GetVSingletonComponent <CardZoneDataComponent>();
            PlayerManaComponent       mana          = ecsManager.GetVSingletonComponent <PlayerManaComponent>();
            CurrentLifecycleComponent currLifecycle = ecsManager.GetVSingletonComponent <CurrentLifecycleComponent>();

            //HACK
            return(currLifecycle.currentLifecycle == VLifecycle.PlayerTurnExecute && (cardZoneData.zones[Zone.HAND].Contains(cardId) || (cardEntity.GetVComponent <CardNameComponent>().name == "Cantrip" && !ecsManager.GetSystem <CantripSystem>().cantripUsed)) && cardEntity.GetVComponent <ManaCostComponent>().cost <= mana.currMana);
        }
Exemple #2
0
        protected override void OnPlayerTurnStart(VEntity entity)
        {
            PlayerManaComponent playerMana = entity.GetVComponent <PlayerManaComponent>();
            int oldMana = playerMana.currMana;

            playerMana.currMana = playerMana.maxMana;

            ecsManager.QueueAnimationEvent("ManaAnimation", component: new PlayerManaSetAnimation {
                oldMana = oldMana,
                newMana = playerMana.currMana,
                maxMana = playerMana.maxMana
            });
        }
        protected override void OnBeforeEvent(VEntity eventEntity)
        {
            CardPlayEvent       cardPlayEvent = eventEntity.GetVComponent <CardPlayEvent>();
            VEntity             card          = ecsManager.GetVEntityById(cardPlayEvent.cardId);
            PlayerManaComponent playerMana    = ecsManager.GetVSingletonComponent <PlayerManaComponent>();
            int prevMana = playerMana.currMana;

            playerMana.currMana -= card.GetVComponent <ManaCostComponent>().cost;
            ecsManager.QueueAnimationEvent("cardPlayedManaDrain", component: new PlayerManaSetAnimation {
                maxMana = playerMana.maxMana,
                newMana = playerMana.currMana,
                oldMana = prevMana,
            });
        }