QueueSProxy.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using ET;
  2. namespace GFGGame
  3. {
  4. public class G2C_UpdateQueueHandler : AMHandler<G2C_UpdateQueue>
  5. {
  6. protected override async ETTask Run(Session session, G2C_UpdateQueue message)
  7. {
  8. if(message.Index > 1)
  9. {
  10. AlertSystem.Show($"您前面还有{message.Index}位玩家", "当前服务器爆满,正在为您排队")
  11. .SetLeftButton(true, "取消", (obj) => {
  12. QueueSProxy.ReqSevenCancelQueue().Coroutine();
  13. });
  14. await ETTask.CompletedTask;
  15. }
  16. }
  17. }
  18. public static class QueueSProxy
  19. {
  20. /// <summary>
  21. /// 请求服务端取消排队
  22. /// </summary>
  23. /// <returns></returns>
  24. public static async ETTask ReqSevenCancelQueue()
  25. {
  26. var response = (G2C_CancelQueue)await MessageHelper.SendToServer(new C2G_CancelQueue());
  27. if(response.Error == ErrorCode.ERR_Success)
  28. {
  29. ViewManager.Hide<ModalStatusView>();
  30. GameGlobal.zoneScene.GetComponent<ObjectWait>().Notify(new ET.WaitType.Wait_SceneChangeStart() { Error = WaitTypeError.Cancel});
  31. GameController.QuitToLoginView(false);
  32. }
  33. }
  34. }
  35. }