public override void OnEvent(Sleep evnt) { if (BoltNetwork.isClient && LocalPlayer.Inventory.CurrentView == PlayerInventory.PlayerViews.Sleep) { Debug.Log("Go to sleep"); TheForest.Utils.Scene.HudGui.MpSleepLabel.gameObject.SetActive(false); LocalPlayer.Inventory.CurrentView = PlayerInventory.PlayerViews.World; if (!evnt.Aborted) { LocalPlayer.Stats.GoToSleep(); if (Grabber.FocusedItemGO) { ShelterTrigger component = Grabber.FocusedItemGO.GetComponent <ShelterTrigger>(); if (component && component.BreakAfterSleep) { base.StartCoroutine(component.DelayedCollapse()); } component.SendMessage("OnSleep", SendMessageOptions.DontRequireReceiver); } EventRegistry.Player.Publish(TfEvent.Slept, null); } else { LocalPlayer.Stats.GoToSleepFake(); } TheForest.Utils.Scene.HudGui.Grid.repositionNow = true; } }
public override void OnEvent(Sleep evnt) { if (BoltNetwork.isClient && LocalPlayer.Inventory.CurrentView == PlayerInventory.PlayerViews.Sleep) { Scene.HudGui.MpSleepLabel.gameObject.SetActive(false); LocalPlayer.Inventory.CurrentView = PlayerInventory.PlayerViews.World; if (!evnt.Aborted) { LocalPlayer.Stats.GoToSleep(); if (Grabber.FocusedItemGO) { ShelterTrigger component = Grabber.FocusedItemGO.GetComponent <ShelterTrigger>(); if (component && component.BreakAfterSleep) { base.StartCoroutine(component.DelayedCollapse()); } } } else { LocalPlayer.Stats.GoToSleepFake(); } } }