public override void Execute(TemplateControllerCustom _controller, float _delta = 0)
    {
        if (!(_controller is TemplateUnits))
        {
            return;
        }

        TemplateUnits units = _controller as TemplateUnits;

        if (units.targetEnemys.Count > 0)
        {
            return;
        }

        Collider[] colliders = Physics.OverlapSphere(units.transform.position, this.radius, this.mask);

        for (int count = 0; count < colliders.Length; count++)
        {
            if (!colliders[count].gameObject.activeSelf)
            {
                continue;
            }

            units.AddTarget(this.type, colliders[count].gameObject);
        }
    }
    public override void Execute(TemplateControllerCustom _controller, float _delta = 0)
    {
        TemplateUnits unit = _controller as TemplateUnits;

        if (unit.lastAttacker != null)
        {
            if (!unit.lastAttacker.isAlive)
            {
                unit.lastAttacker = null;
                return;
            }

            unit.targetEnemys.Clear();

            unit.targetEnemy = unit.lastAttacker;
            unit.AddTarget(TargetType.Attacker, unit.lastAttacker.gameObject);

            unit.agent.SetDestination(unit.lastAttacker.transform.position);
        }
    }