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); }