private void Awake() { GameObject resourceTracker = uGUI.main.gameObject.transform.Find("ScreenCanvas/ResourceTracker").gameObject; uGUI_ResourceTracker uGUI_ResourceTracker = resourceTracker.GetComponent <uGUI_ResourceTracker>(); blip = UWE.Utils.InstantiateDeactivated(resourceTracker.transform.Find("blip").gameObject); blip.transform.SetParent(transform, false); blip.name = "blip"; GameObject distanceText = Instantiate(blip.transform.Find("text").gameObject, blip.transform); distanceText.name = "distanceText"; distanceText.SetActive(false); Color color = new Color(1, 0, 0, 1); TextMeshProUGUI tmproDist = distanceText.GetComponent <TextMeshProUGUI>(); tmproDist.color = color; TextMeshProUGUI tmproText = blip.transform.Find("text").GetComponent <TextMeshProUGUI>(); tmproText.color = color; RectTransformExtensions.CenterRect(distanceText.transform as RectTransform, Vector2.zero); Image image = blip.GetComponent <Image>(); image.color = color; mainCanvas = UWE.Utils.InstantiateDeactivated(resourceTracker.transform.Find("mainCanvas").gameObject); mainCanvas.transform.SetParent(transform, false); mainCanvas.name = "mainCanvas"; }
private static void Postfix(uGUI_ResourceTracker __instance) { if (Blip_gameObject == null) { Type BlipT = typeof(uGUI_ResourceTracker).GetNestedType("Blip", BindingFlags.NonPublic); Blip_gameObject = BlipT.GetField("gameObject", BindingFlags.Public | BindingFlags.Instance); } if (Input.GetKeyDown(Mod.config.ToggleKey)) { hide = !hide; ErrorMessage.AddDebug(string.Format("Scanner Blips Toggled: {0}", hide ? $"OFF (Press {Mod.config.ToggleKey} to show)" : "ON")); } #if SN1 HashSet <ResourceTracker.ResourceInfo> nodes = (HashSet <ResourceTracker.ResourceInfo>)uGUI_ResourceTracker_nodes.GetValue(__instance); #elif BELOWZERO HashSet <ResourceTrackerDatabase.ResourceInfo> nodes = (HashSet <ResourceTrackerDatabase.ResourceInfo>)uGUI_ResourceTracker_nodes.GetValue(__instance); #endif IList blips = (IList)uGUI_ResourceTracker_blips.GetValue(__instance); Camera camera = MainCamera.camera; Vector3 position = camera.transform.position; Vector3 forward = camera.transform.forward; int i = 0; #if SN1 foreach (ResourceTracker.ResourceInfo resourceInfo in nodes) #elif BELOWZERO foreach (ResourceTrackerDatabase.ResourceInfo resourceInfo in nodes) #endif { Vector3 lhs = resourceInfo.position - position; if (Vector3.Dot(lhs, forward) > 0f) { var blipObject = (GameObject)Blip_gameObject.GetValue(blips[i]); var customBlip = blipObject.GetComponent <CustomBlip>(); customBlip.Refresh(resourceInfo); i++; } } for (var j = 0; j < blips.Count; ++j) { var blipObject = (GameObject)Blip_gameObject.GetValue(blips[j]); if (hide) { blipObject.SetActive(false); } } }
private static bool Prefix(uGUI_ResourceTracker __instance) { if (__instance != null && __instance.blip != null) { if (__instance.blip.GetComponent <CustomBlip>() == null) { Logger.Log("Adding CustomBlip to blip prefab"); __instance.blip.AddComponent <CustomBlip>(); } } return(true); }
static void Postfix(uGUI_ResourceTracker __instance) { Debugger.Log("Hello"); var v = Player.main.GetComponent <PersonalScanBehaviour>(); if (v) { var a = Traverse.Create(__instance).Field("nodes").GetValue() as HashSet <ResourceTracker.ResourceInfo>; v.GetDiscoveredNodes(a); Traverse.Create(__instance).Field("nodes").SetValue(a); } }
private static void Postfix(uGUI_ResourceTracker __instance) { if (Blip_gameObject == null) { Type BlipT = typeof(uGUI_ResourceTracker).GetNestedType("Blip", BindingFlags.NonPublic); Blip_gameObject = BlipT.GetField("gameObject", BindingFlags.Public | BindingFlags.Instance); } if (Input.GetKeyDown(Mod.config.ToggleKey)) { hide = !hide; Logger.Log("Toggle " + (hide ? "Hide" : "Show")); } HashSet <ResourceTracker.ResourceInfo> nodes = (HashSet <ResourceTracker.ResourceInfo>)uGUI_ResourceTracker_nodes.GetValue(__instance); IList blips = (IList)uGUI_ResourceTracker_blips.GetValue(__instance); Camera camera = MainCamera.camera; Vector3 position = camera.transform.position; Vector3 forward = camera.transform.forward; int i = 0; foreach (ResourceTracker.ResourceInfo resourceInfo in nodes) { Vector3 lhs = resourceInfo.position - position; if (Vector3.Dot(lhs, forward) > 0f) { var blipObject = (GameObject)Blip_gameObject.GetValue(blips[i]); var customBlip = blipObject.GetComponent <CustomBlip>(); customBlip.Refresh(resourceInfo); i++; } } for (var j = 0; j < blips.Count; ++j) { var blipObject = (GameObject)Blip_gameObject.GetValue(blips[j]); if (hide) { blipObject.SetActive(false); } } }