Ejemplo n.º 1
0
            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);
            }
Ejemplo n.º 2
0
            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);
            }
Ejemplo n.º 3
0
 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;
         }
     }
 }
Ejemplo n.º 4
0
                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);
                }
Ejemplo n.º 5
0
 public static void Prefix(SurveillanceMinigame __instance)
 {
     cameraTimer = 0f;
 }
Ejemplo n.º 6
0
 static void Prefix(SurveillanceMinigame __instance)
 {
     UseCameraTime();
 }