Example #1
0
        private static bool Prefix(SpeedControlScreen __instance)
        {
            //Debug.Log(" === SpeedControlMod INI === ");

            if (__instance.IsPaused)
            {
                Time.timeScale = 0f;
            }
            else if (__instance.GetSpeed() == 0)
            {
                Time.timeScale = __instance.normalSpeed;
            }
            else if (__instance.GetSpeed() == 1)
            {
                Time.timeScale = __instance.fastSpeed;
            }
            else if (__instance.GetSpeed() == 2)
            {
                Time.timeScale = 10f;
            }

            //__instance.OnGameSpeedChanged?.Invoke();

            //Debug.Log(" === SpeedControlMod END === ");

            return(false);
        }
Example #2
0
        public static bool Prefix(SpeedControlScreen __instance)
        {
            if (GameOnLoadPatch.Settings == null)
            {
                GameOnLoadPatch.ReadSettings();
            }

            if (__instance.IsPaused)
            {
                Time.timeScale = 0f;
            }
            else
            {
                switch (__instance.GetSpeed())
                {
                case 0:
                    Time.timeScale = GameOnLoadPatch.Settings.slowSpeed;
                    break;

                case 1:
                    Time.timeScale = GameOnLoadPatch.Settings.normalSpeed;
                    break;

                case 2:
                    Time.timeScale = GameOnLoadPatch.Settings.superSpeed;
                    break;

                default:
                    break;
                }
            }
            return(false);
        }
    private void TriggerAudio(int old_value)
    {
        SpeedControlScreen instance = SpeedControlScreen.Instance;

        if (old_value != outputValue && (Object)instance != (Object)null && !instance.IsPaused)
        {
            GridArea         visibleArea = GridVisibleArea.GetVisibleArea();
            List <LogicWire> list        = new List <LogicWire>();
            for (int i = 0; i < wires.Count; i++)
            {
                if (visibleArea.Min <= (Vector2)wires[i].transform.GetPosition() && (Vector2)wires[i].transform.GetPosition() <= visibleArea.Max)
                {
                    list.Add(wires[i]);
                }
            }
            if (list.Count > 0)
            {
                int index = Mathf.CeilToInt((float)(list.Count / 2));
                if ((Object)list[index] != (Object)null)
                {
                    Vector3       position  = list[index].transform.GetPosition();
                    EventInstance instance2 = KFMOD.BeginOneShot(GlobalAssets.GetSound("Logic_Circuit_Toggle", false), position);
                    instance2.setParameterValue("wireCount", (float)(wires.Count % 24));
                    instance2.setParameterValue("enabled", (float)outputValue);
                    KFMOD.EndOneShot(instance2);
                }
            }
        }
    }
Example #4
0
    private void TriggerAudio(int new_value)
    {
        LogicCircuitNetwork networkForCell = Game.Instance.logicCircuitManager.GetNetworkForCell(cell);
        SpeedControlScreen  instance       = SpeedControlScreen.Instance;

        if (networkForCell != null && new_value != value && (UnityEngine.Object)instance != (UnityEngine.Object)null && !instance.IsPaused && (!KPlayerPrefs.HasKey(AudioOptionsScreen.AlwaysPlayAutomation) || KPlayerPrefs.GetInt(AudioOptionsScreen.AlwaysPlayAutomation) == 1 || !(OverlayScreen.Instance.GetMode() != OverlayModes.Logic.ID)))
        {
            string name = "Logic_Building_Toggle";
            if (CameraController.Instance.IsAudibleSound(Grid.CellToPosCCC(cell, Grid.SceneLayer.BuildingFront)))
            {
                EventInstance instance2 = KFMOD.BeginOneShot(GlobalAssets.GetSound(name, false), Grid.CellToPos(cell));
                instance2.setParameterValue("wireCount", (float)(networkForCell.Wires.Count % 24));
                instance2.setParameterValue("enabled", (float)new_value);
                KFMOD.EndOneShot(instance2);
            }
        }
    }
        private static bool Prefix(SpeedControlScreen __instance)
        {
            if (__instance.IsPaused)
            {
                Time.timeScale = 0f;
            }
            else if (__instance.GetSpeed() == 0)
            {
                Time.timeScale = __instance.normalSpeed;
            }
            else if (__instance.GetSpeed() == 1)
            {
                Time.timeScale = __instance.ultraSpeed;
            }
            else if (__instance.GetSpeed() == 2)
            {
                Time.timeScale = 6f;
            }

            return(false);
        }
        private static bool Prefix(SpeedControlScreen __instance)
        {
            if (!SpeedControlConfig.Instance.Enabled)
            {
                return(true);
            }

            if (SpeedControlConfig.Instance.Logging)
            {
                Debug.Log(" === SpeedControl INI === " + Time.timeScale);
            }

            if (__instance.IsPaused)
            {
                Time.timeScale = 0f;
            }
            else if (__instance.GetSpeed() == 0)
            {
                Time.timeScale = SpeedControlConfig.Instance.SpeedMultiplier1;
            }
            else if (__instance.GetSpeed() == 1)
            {
                //Time.timeScale = __instance.fastSpeed;
                Time.timeScale = SpeedControlConfig.Instance.SpeedMultiplier2;
            }
            else if (__instance.GetSpeed() == 2)
            {
                Time.timeScale = SpeedControlConfig.Instance.SpeedMultiplier3;
            }

            //__instance.OnGameSpeedChanged?.Invoke();

            if (SpeedControlConfig.Instance.Logging)
            {
                Debug.Log(" === SpeedControl END === " + Time.timeScale);
            }

            return(false);
        }