You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.2 KiB

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.Networking;
  5. using Multiplayer;
  6. using UnityEngine.UI;
  7. public class LobbyUIController : MonoBehaviour {
  8. public Button StartGame;
  9. private float lastTime;
  10. private void Start()
  11. {
  12. }
  13. private void OnEnable()
  14. {
  15. Multiplayer.ClientManager.Instance.Client.RegisterHandler(LoginMsgID.QueryGameRunning, isGameRunning);
  16. }
  17. private void OnDisable()
  18. {
  19. ClientManager.Instance.Client.UnregisterHandler(LoginMsgID.QueryGameRunning);
  20. }
  21. public void Update()
  22. {
  23. if (Time.time - lastTime > 1)
  24. {
  25. ClientManager.Instance.SendMessage(LoginMsgID.QueryGameRunning);
  26. lastTime = Time.time;
  27. }
  28. }
  29. public void OnClickStartGame()
  30. {
  31. Multiplayer.ClientManager.Instance.SendMessage(Multiplayer.PlayerMsgID.GameStart, new Multiplayer.PlayerMsg(Multiplayer.ClientManager.Instance.ID));
  32. }
  33. public void isGameRunning(NetworkMessage msg)
  34. {
  35. BoolMsg boolMsg;
  36. if (!Multiplayer.Utility.ReadMessage<BoolMsg>(msg, out boolMsg))
  37. return;
  38. StartGame.interactable = !boolMsg.boolean;
  39. }
  40. }