示例#1
0
 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;
     }
 }
示例#2
0
 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();
         }
     }
 }