Beispiel #1
0
        private void ObtainResourceNodes(TechType typeToScan)
        {
            this.resourceNodes.Clear();

            Dictionary <string, ResourceTracker.ResourceInfo> .ValueCollection nodes = ResourceTracker.GetNodes(typeToScan);

            if (nodes != null)
            {
                float scanRange = this.GetScanRange();

                float num = scanRange * scanRange;

                foreach (ResourceTracker.ResourceInfo resourceInfo in nodes)
                {
                    if ((transform.position - resourceInfo.position).sqrMagnitude <= num)
                    {
                        this.resourceNodes.Add(resourceInfo);
                    }
                }
            }

            //ProfilingUtils.BeginSample("SortResourceNodes");

            this.resourceNodes.Sort(delegate(ResourceTracker.ResourceInfo a, ResourceTracker.ResourceInfo b)
            {
                float sqrMagnitude  = (a.position - transform.position).sqrMagnitude;
                float sqrMagnitude2 = (b.position - transform.position).sqrMagnitude;
                return(sqrMagnitude.CompareTo(sqrMagnitude2));
            });

            //ProfilingUtils.EndSample(null);
        }