Exemplo n.º 1
0
            public MyDetectedEntityInfo?CheckTarget(TargetList targetList)
            {
                if (!turret.IsShooting)
                {
                    return(null);
                }

                Vector3D coords = GetTargetCoords(currentScanRange);

                foreach (IMyCameraBlock c in Cameras)
                {
                    if (c.CanScan(coords))
                    {
                        MyDetectedEntityInfo temp = c.Raycast(coords);
                        if (!temp.IsEmpty())
                        {
                            if (targetList.IsFriendly(temp))
                            {
                                currentScanRange = 32;
                                return(null);
                            }

                            currentScanRange = (temp.Position - turret.GetPosition()).Length();

                            targetList.Add(temp);

                            return(temp);
                        }
                        currentScanRange = scanRange;
                    }
                }
                return(null);
            }