コード例 #1
0
    //damage needds to be populated
    //hits needs to be populated
    public void DealDamage()
    {
        int modifiedDamage = unitStatus.DamageModifierCalculator(damage);

        if (AOE == false)
        {
            for (int i = 1; hits >= i; i++)
            {
                //targetUnit.TakeDamage(damage);
                targetUnit.TakeDamage(modifiedDamage);
            }
        }
        else
        {
            foreach (Transform enemy in targetObject.transform)
            {
                //cache override from AffectAll enemies
                targetUnit = enemy.gameObject.GetComponent <BaseUnitFunctions>();
                for (int i = 1; hits >= i; i++)
                {
                    //targetUnit.TakeDamage(damage);
                    targetUnit.TakeDamage(modifiedDamage);
                }
            }
            AOE = false;
        }
    }
コード例 #2
0
 //set target to player when card is dropped
 //Child index 1 is player
 public void AffectPlayer(GameObject target)
 {
     if (target.tag == "Player")
     {
         targetObject = target;
         targetUnit   = targetObject.GetComponent <PlayerFunctions>();
     }
     else if (target.tag == "Enemy")
     {
         //gets parent enemy holder then gets parent playing field
         GameObject enemyHolder = target.transform.parent.gameObject;
         targetObject = enemyHolder.transform.parent.gameObject.transform.GetChild(1).gameObject;
         targetUnit   = targetObject.GetComponent <PlayerFunctions>();
     }
     else
     {
         targetObject = target.transform.parent.GetChild(1).gameObject;
         targetUnit   = targetObject.GetComponent <PlayerFunctions>();
     }
 }
コード例 #3
0
 //set all enemies as tagets when card is dropped
 //TargetUnit will be the EnemyHolder
 //CHANGE LOGIC, THIS IS WRONG
 public void AffectAllEnemies(GameObject target)
 {
     //sets AOE effect
     AOE = true;
     if (target.tag == "Enemy")
     {
         //gets parent enemy holder then gets parent playing field
         GameObject enemyHolder = target.transform.parent.gameObject;
         targetObject = enemyHolder.transform.parent.gameObject;
         targetUnit   = targetObject.GetComponent <BaseUnitFunctions>();
     }
     else
     {
         //child index 2 is the enemy holder
         targetObject = target.transform.parent.GetChild(2).gameObject;
         targetUnit   = targetObject.GetComponent <BaseUnitFunctions>();
     }
     //for dropfield approach
     //child index 2 is the enemy holder
     //targetUnit = target.transform.parent.GetChild(2).gameObject;
 }
コード例 #4
0
 //set target to actual choice target
 public void AffectSingleEnemy(GameObject target)
 {
     targetObject = target;
     targetUnit   = targetObject.GetComponent <BaseUnitFunctions>();
 }
コード例 #5
0
 // Start is called before the first frame update
 void Start()
 {
     baseUnitStats = gameObject.GetComponent <BaseUnitFunctions>();
     baseUnitStats.InitializeStats();
 }