public override void CalculateNextTargets(ref List <SkillTarget> targetList) { targetList.Clear(); // 根据当前瞄准方向更新主区域的目标信息 m_MainAimArea.UpdateBaseRay(GetViewRay().direction); m_MainAimArea.UpdateRayList(true); m_MainAimArea.GetRayList(ref m_AimDirectionsCache); for (int iRay = 0; iRay < m_AimDirectionsCache.Count; iRay++) { targetList.Add(CalulateTargetDataByShootingDirection(m_AimDirectionsCache[iRay])); } // 根据当前瞄准方向更新主区域的目标信息 for (int iAim = 0; iAim < m_SubAimAreas.Count; iAim++) { m_SubAimAreas[iAim].UpdateBaseRay(GetViewRay().direction); m_SubAimAreas[iAim].UpdateRayList(true); m_SubAimAreas[iAim].GetRayList(ref m_AimDirectionsCache); for (int iRay = 0; iRay < m_AimDirectionsCache.Count; iRay++) { targetList.Add(CalulateTargetDataByShootingDirection(m_AimDirectionsCache[iRay])); } } }