static void changeTarget(MetalDetector md, int dir) { if (dir != 0) { md.targetTechTypeIndex = MathUtils.mod(md.targetTechTypeIndex + dir, md.detectableTechTypes.Count); } }
public static void Prefix(MetalDetector __instance) { var conf = Config.Instance; __instance.powerConsumption = conf.PowerConsumption; __instance.scanDistance = conf.ScanDistance; }
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)"; }
static string getCurrentTarget(MetalDetector md) { bool indexValid = MathUtils.isInRange(md.targetTechTypeIndex, md.detectableTechTypes.Count - 1); return(!indexValid? "": Language.main.Get(md.detectableTechTypes[md.targetTechTypeIndex].AsString())); }