//
    void selectDTTarget()
    {
        int highPrior = 0;

        if (attack.Target == null)
        {
            foreach (DTTarget a in m_targetDTData)
            {
                if (a.GetComponent <DTTarget>().m_dtTargetPriority >= highPrior)
                {
                    highPrior = a.GetComponent <DTTarget>().m_dtTargetPriority;
                }
            }//End for

            //Debug.Log("DT: We're here!");

            for (int i = 0; i < m_bsm.m_heroes.Count; i++)
            {
                // Select attack with highest priority value
                if (m_targetDTData[i].GetComponent <DTTarget>().m_dtTargetPriority == highPrior)
                {
                    //
                    if (m_targetDTData[i].GetComponent <DTTarget>().m_dtName == m_bsm.m_heroes[i].GetComponent <HeroStateMachine>().m_hero.m_name)
                    {
                        attack.Target    = m_bsm.m_heroes[i];
                        m_dtTargetObject = m_targetDTData[i];
                        setHeroTarget(attack.Target);
                        break;
                    }
                }
            }//End for
        }
    }
        public override void evaluate(DTTarget target)
        {
            bool result = this.targetTest(target);

            //Debug.Log(this.title);

            if (result)
            {
                this.positive.evaluate(target);
                target.m_dtTargetPriority++;
            }
            else
            {
                this.negative.evaluate(target);
            }
        }
 public override void evaluate(DTTarget target)
 {
 }
 public abstract void evaluate(DTTarget target);