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(); } } }
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); } }
private void OnResourceRemoved(ResourceTrackerDatabase.ResourceInfo info) { gatherNextTick = true; }