internal static void StopSleep(Player player, bool skipAnims = false) { if (!sleeping) { return; } //Subscribe(player,false); if (sleepLocation == SleepLocation.Bed) { sleepBed.ExitInUseMode(player, skipAnims); } else if (sleepLocation == SleepLocation.Floor) { sleeping = false; if (DayNightCycle.main.IsInSkipTimeMode()) { DayNightCycle.main.StopSkipTimeMode(); } player.timeLastSleep = DayNightCycle.main.timePassedAsFloat; uGUI_PlayerSleep.main.StopSleepScreen(); MainCameraControl.main.lookAroundMode = false; player.cinematicModeActive = false; sleepLocation = SleepLocation.None; sleepStartTime = 0; } }
internal static void StartSleep(Player player) { if (sleeping) { return; } if (player.cinematicModeActive) { return; } if (DayNightCycle.main.IsInSkipTimeMode()) { return; } if (!GetCanSleep(Player.main)) { return; } player.cinematicModeActive = true; MainCameraControl.main.viewModel.localRotation = Quaternion.identity; DayNightCycle.main.SkipTime(sleepDurationGametime, sleepDurationRealtime); uGUI_PlayerSleep.main.StartSleepScreen(); sleeping = true; sleepLocation = SleepLocation.Floor; sleepStartTime = DayNightCycle.main.GetDayNightCycleTime(); }
internal static void MainSceneUnloaded() { gameObject = null; component = null; sleeping = false; sleepStartTime = 0f; sleepLocation = SleepLocation.None; sleepBed = null; sitting = false; sittingLocation = SittingLocation.None; sittingBench = null; keySleepStartDown = false; keySleepStopDown = false; }