Beispiel #1
0
    /*
     * //PlayCard With Button
     * void PlayCard()
     * {
     *  if (selectedCard != null && selectedCombatant != null)
     *  {
     *      //Attack Card
     *      if (selectedCard.GetEffect() == 0 && selectedCombatant.side != sideTurn) //make side a getter.
     *      {
     *          if (selectedCombatant.Damage(selectedCard.GetDamageVal()) <= 0) //Call HPAdjust, do damage, if it brings the combatant's HP zero, kill it.
     *          {
     *              selectedCombatant.Die();
     *              selectedCombatant = null;
     *          }
     *          selectedCard.Die();
     *          selectedCard = null;
     *          EndTurn();
     *      }
     *      //Healer Card
     *      else if (selectedCard.GetEffect() == 1)
     *      {
     *          Debug.Log("Healing Card. Not yet implemented.");
     *          EndTurn();
     *      }
     *      else
     *      {
     *          Debug.Log("Card Has No Effect");
     *      }
     *      //EndTurn();
     *  }
     * }
     */

    //PlayCard With PlayArea
    void PlayCard()
    {
        if (playAreaCard != null && selectedCombatant != null)
        {
            //Attack Card
            if (playAreaCard.GetEffect() == 0 && selectedCombatant.side != sideTurn) //make side a getter.
            {
                CombatantBehavior owningCombatant = combatantScripts[playAreaCard.GetCombatant()];

                if (owningCombatant.EvalCardCost(playAreaCard.GetApCost()))         //Evaluate if we have enough AP to use card then remove action points based on card AP cost.
                {
                    if (selectedCombatant.Damage(playAreaCard.GetDamageVal()) <= 0) //Call HPAdjust, do damage, if it brings the combatant's HP zero, kill it.
                    {
                        KillCombatant(selectedCombatant);
                    }

                    //owningCombatant.SubtractAp(playAreaCard.GetApCost()); //Remove action points based on card AP cost.
                    owningCombatant.SetOccupiedSlot(playAreaCard.GetSlot(), false, -1); //Set slot's occupied slot to empty.

                    ShuffleCards(owningCombatant, activeCombatants[playAreaCard.GetCombatant()].transform);

                    activeCards[playAreaCard.GetSessionId()] = null;
                    cardScripts[playAreaCard.GetSessionId()] = null;
                    playAreaCard.Die();
                    playAreaCard = null;
                    //EndTurn();
                }
                //Healer Card
                else if (playAreaCard.GetEffect() == 1)
                {
                    Debug.Log("Healing Card. Not yet implemented.");
                    EndTurn();
                }
                else
                {
                    Debug.Log("Card Has No Effect");
                }
                //EndTurn();
            }
        }
    }