Guest User

DoorInteractable script

a guest
Apr 29th, 2024
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using Mirror;
  4.  
  5. public enum DoorState : byte
  6. {
  7. Open, Closed
  8. }
  9.  
  10. public class DoorInteractable : NetworkBehaviour
  11. {
  12. [SyncVar]
  13. public DoorState doorState;
  14. public Animator animator;
  15. public AudioSource doorSound;
  16.  
  17. [Client]
  18. public void ToggleDoor()
  19. {
  20. CmdSetDoorState();
  21. }
  22.  
  23. [Command(requiresAuthority = false)]
  24. public void CmdSetDoorState(NetworkConnectionToClient sender = null)
  25. {
  26. if (doorState == DoorState.Closed)
  27. {
  28. doorState = DoorState.Open;
  29. animator.SetBool("Open", true);
  30. }
  31. else
  32. {
  33. doorState = DoorState.Closed;
  34. animator.SetBool("Open", false);
  35. }
  36. }
  37.  
  38. public void OpenDoor()
  39. {
  40. doorState = DoorState.Open;
  41. animator.SetBool("Open", true);
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment