示例#1
0
    public bool FindTarget()
    {
        List <GameObject> allobj = TargetChooser.FindTargetInSector(transform.position, m_SectorRadius,
                                                                    transform.forward, transform.position,
                                                                    m_SectorDegree);
        List <GameObject> unendure_objs = FiltUnEndureObj(allobj);

        if (m_TargetChoosePriority == TargetChoosePriority.kChooseMostForward)
        {
            m_Target = TargetChooser.GetMostForwardObj(transform.position, transform.forward,
                                                       m_ColliderManager.FiltEnimy(unendure_objs));
        }
        else
        {
            m_Target = TargetChooser.GetNearestObj(transform.position, m_ColliderManager.FiltEnimy(unendure_objs));
        }
        if (m_Target == null)
        {
            return(false);
        }
        else
        {
            m_SkillMovement.SetFacePos(m_Target.transform.position);
            ControlTarget(m_Target);
            if (!SkillManager.AttatchNodeToNode(gameObject, m_ToggleNodeName, m_Target, m_TargetNodeName))
            {
                m_Target = null;
                return(false);
            }
            Vector3 pos = m_Target.transform.position;
            DashFire.LogicSystem.NotifyGfxUpdatePosition(m_Target, pos.x, pos.y, pos.z);
        }
        return(true);
    }