public static void Postfix(MetalDetector __instance, ResourceTrackerDatabase.ResourceInfo ___closestResourceNode, MetalDetector.ScreenState ___screenState)
        {
            if (!__instance.isDrawn || ___closestResourceNode == null || ___screenState != MetalDetector.ScreenState.Tracking)
            {
                return;
            }

            var vector = ___closestResourceNode.position - MainCamera.camera.transform.position;
            var len    = vector.magnitude;
            var y      = vector.y;

            __instance.screenTooltipText.text = $"{len:0}m ({y:0}m)";
        }
 public void OnResourceDiscovered(ResourceTrackerDatabase.ResourceInfo info)
 {
     if (!availableTechTypes.Contains(info.techType))
     {
         Vector3 vector    = manager.transform.position - info.position;
         float   scanRange = manager.GetScanRange();
         float   num       = scanRange * scanRange;
         if (vector.sqrMagnitude <= num)
         {
             availableTechTypes.Add(info.techType);
             RebuildResourceList();
         }
     }
 }
Example #3
0
        public void Refresh(ResourceTrackerDatabase.ResourceInfo target)
#endif
        {
            if (target != null)
            {
                var vectorToPlayer = Player.main.transform.position - target.position;
                var distance       = vectorToPlayer.magnitude;

                if (techType != target.techType || target.techType == TechType.Fragment)
                {
                    techType = target.techType;
                    if (!ResourceTrackerPatches.TryGetResourceName(target.uniqueId, out resourceName))
                    {
                        resourceName = Language.main.Get(techType);
                    }
                }

                RefreshColor(distance);
                RefreshText(distance);
                RefreshScale(distance);
            }
        }
Example #4
0
 private void OnResourceRemoved(ResourceTrackerDatabase.ResourceInfo info)
 {
     gatherNextTick = true;
 }