Exemple #1
0
    public override bool FindFollowTarget()
    {
        if (null == FollowTarget)
        {
            if (XUtility.DistanceNoY(GamingSys.Instance.Player.transform.position, transform.position) <= CurSkill.Attr.FindDist)
            {
                FollowTarget = GamingSys.Instance.Player;
                GamingSys.Instance.Player.AddTeammate(this);
            }
#if UNITY_EDITOR
            XUtility.DrawCircle(transform.position, transform.forward, CurSkill.Attr.FindDist, Color.green, 1f);
#endif
        }

        return(FollowTarget != null);
    }
Exemple #2
0
    public override bool FindAttackTarget()
    {
        AttackTarget = null;
        Dictionary <long, Hero> hero = GamingSys.Instance.Player.Teammates;
        float temp, dire = float.MaxValue;

        foreach (Actor actor in hero.Values)
        {
            if (actor.IsDead || actor.FollowTarget == null)
            {
                continue;
            }
            temp = XUtility.DistanceNoY(actor.transform.position, transform.position);
            if (temp <= CurSkill.Attr.FindDist && temp < dire)
            {
                dire         = temp;
                AttackTarget = actor;
            }
        }
#if UNITY_EDITOR
        XUtility.DrawCircle(transform.position, transform.forward, CurSkill.Attr.FindDist, Color.yellow, 1f);
#endif
        return(null != AttackTarget);
    }