ReadyHandler.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using Sfs2X.Entities.Data;
  5. public class ReadyHandler : BAHandler
  6. {
  7. public ReadyHandler(BARoom room):base(room){}
  8. public override void HandleRequest (BAServer server, ISFSObject msg, int sender, int timeStamp)
  9. {
  10. ISFSObject data = msg.GetSFSObject (Message.LABEL_DATA);
  11. if(room is BaseRoom)
  12. {
  13. data.PutInt ("t", 100000);
  14. data.PutInt ("f", 100000);
  15. data.PutSFSArray ("l", new SFSArray());
  16. data.PutSFSArray ("a", new SFSArray());
  17. data.PutInt ("r", sender);
  18. server.RoomHandleResponse (msg);
  19. if(room.IsMyUserId(sender))
  20. {
  21. BaseRoom baseRoom = room as BaseRoom;
  22. baseRoom.InitBaseUsers();
  23. }
  24. }
  25. else if (data.ContainsKey ("r"))
  26. {
  27. server.RoomHandleResponse (msg);
  28. }
  29. else
  30. {
  31. if(room.IsHost())
  32. {
  33. data.PutInt ("t", room.roundTime - room.GetGameTime ());
  34. data.PutInt ("f", room.GetFreeTime ());
  35. data.PutSFSArray ("l", room.GetRoomBuildingData ());
  36. data.PutSFSArray ("a", room.GetRoomUserData ());
  37. data.PutInt ("r", sender);
  38. server.Send (msg);
  39. }
  40. }
  41. }
  42. }