public static bool Prefix(SurveillanceMinigame __instance) { // Update normal and securityGuard cameras timer += Time.deltaTime; int numberOfPages = Mathf.CeilToInt(ShipStatus.Instance.AllCameras.Length / 4f); bool update = false; if (timer > 3f || Input.GetKeyDown(KeyCode.RightArrow)) { update = true; timer = 0f; page = (page + 1) % numberOfPages; } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { page = (page + numberOfPages - 1) % numberOfPages; update = true; timer = 0f; } if ((__instance.isStatic || update) && !PlayerTask.PlayerHasTaskOfType <IHudOverrideTask>(PlayerControl.LocalPlayer)) { __instance.isStatic = false; for (int i = 0; i < __instance.ViewPorts.Length; i++) { __instance.ViewPorts[i].sharedMaterial = __instance.DefaultMaterial; __instance.SabText[i].gameObject.SetActive(false); if (page * 4 + i < __instance.textures.Length) { __instance.ViewPorts[i].material.SetTexture("_MainTex", __instance.textures[page * 4 + i]); } else { __instance.ViewPorts[i].sharedMaterial = __instance.StaticMaterial; } } } else if (!__instance.isStatic && PlayerTask.PlayerHasTaskOfType <HudOverrideTask>(PlayerControl.LocalPlayer)) { __instance.isStatic = true; for (int j = 0; j < __instance.ViewPorts.Length; j++) { __instance.ViewPorts[j].sharedMaterial = __instance.StaticMaterial; __instance.SabText[j].gameObject.SetActive(true); } } return(false); }
public static bool Prefix(SurveillanceMinigame __instance) { //Toggle ON/OFF depending on minPlayerCams parameter if (!__instance.isStatic && camsBool) { __instance.isStatic = true; for (int j = 0; j < __instance.ViewPorts.Length; j++) { __instance.ViewPorts[j].sharedMaterial = __instance.StaticMaterial; __instance.SabText[j].gameObject.SetActive(true); } } return(!camsBool); }
public static void Postfix(SurveillanceMinigame __instance) { // Add securityGuard cameras page = 0; timer = 0; if (ShipStatus.Instance.AllCameras.Length > 4 && __instance.FilteredRooms.Length > 0) { __instance.textures = __instance.textures.ToList().Concat(new RenderTexture[ShipStatus.Instance.AllCameras.Length - 4]).ToArray(); for (int i = 4; i < ShipStatus.Instance.AllCameras.Length; i++) { SurvCamera surv = ShipStatus.Instance.AllCameras[i]; Camera camera = UnityEngine.Object.Instantiate <Camera>(__instance.CameraPrefab); camera.transform.SetParent(__instance.transform); camera.transform.position = new Vector3(surv.transform.position.x, surv.transform.position.y, 8f); camera.orthographicSize = 2.35f; RenderTexture temporary = RenderTexture.GetTemporary(256, 256, 16, (RenderTextureFormat)0); __instance.textures[i] = temporary; camera.targetTexture = temporary; } } }
public static bool Prefix(SurveillanceMinigame __instance) { cameraTimer += Time.deltaTime; if (cameraTimer > 0.1f) { UseCameraTime(); } if (MapOptions.restrictDevices > 0 && MapOptions.restrictCameras) { if (TimeRemaining == null) { TimeRemaining = UnityEngine.Object.Instantiate(HudManager.Instance.TaskText, __instance.transform); TimeRemaining.alignment = TMPro.TextAlignmentOptions.Center; TimeRemaining.transform.position = Vector3.zero; TimeRemaining.transform.localPosition = new Vector3(0.0f, -1.7f); TimeRemaining.transform.localScale *= 1.8f; TimeRemaining.color = Palette.White; } if (MapOptions.restrictCamerasTime <= 0f) { __instance.Close(); return(false); } string timeString = TimeSpan.FromSeconds(MapOptions.restrictCamerasTime).ToString(@"mm\:ss\.ff"); TimeRemaining.text = String.Format(ModTranslation.getString("timeRemaining"), timeString); TimeRemaining.gameObject.SetActive(true); } // Update normal and securityGuard cameras timer += Time.deltaTime; int numberOfPages = Mathf.CeilToInt(ShipStatus.Instance.AllCameras.Length / 4f); bool update = false; if (timer > 3f || Input.GetKeyDown(KeyCode.RightArrow)) { update = true; timer = 0f; page = (page + 1) % numberOfPages; } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { page = (page + numberOfPages - 1) % numberOfPages; update = true; timer = 0f; } if ((__instance.isStatic || update) && !PlayerTask.PlayerHasTaskOfType <IHudOverrideTask>(PlayerControl.LocalPlayer)) { __instance.isStatic = false; for (int i = 0; i < __instance.ViewPorts.Length; i++) { __instance.ViewPorts[i].sharedMaterial = __instance.DefaultMaterial; __instance.SabText[i].gameObject.SetActive(false); if (page * 4 + i < __instance.textures.Length) { __instance.ViewPorts[i].material.SetTexture("_MainTex", __instance.textures[page * 4 + i]); } else { __instance.ViewPorts[i].sharedMaterial = __instance.StaticMaterial; } } } else if (!__instance.isStatic && PlayerTask.PlayerHasTaskOfType <HudOverrideTask>(PlayerControl.LocalPlayer)) { __instance.isStatic = true; for (int j = 0; j < __instance.ViewPorts.Length; j++) { __instance.ViewPorts[j].sharedMaterial = __instance.StaticMaterial; __instance.SabText[j].gameObject.SetActive(true); } } return(false); }
public static void Prefix(SurveillanceMinigame __instance) { cameraTimer = 0f; }
static void Prefix(SurveillanceMinigame __instance) { UseCameraTime(); }