private void OnTextMessage(string message) { JObject json = JObject.Parse(message); GameClient.MessageHandler handler = null; if (json["ackId"] != null) { int ackId = (int)json["ackId"]; if (ackId > 0) { if (awaitingAck.ContainsKey(ackId)) { ClientRequest request = awaitingAck[ackId]; handler = request.messageHandler; Debug.Log("Received ack for " + request); awaitingAck.Remove(ackId); } else { Debug.LogWarning("Received ack for unknown request: " + ackId); } } } if (handler != null) { handler(json); } else { defaultMessageHandler(json); } }
private void OnGameCreated(JObject jsonObject) { defaultMessageHandler = GameManager.Instance.HandleMessage; GameManager.Instance.gameOverHandler = GameOver; GameCreatedMessage message = jsonObject.ToObject <GameCreatedMessage>(); long id = message.gameId; GameManager.Instance.SetStarSystem(message.starSystemId); JoinRequest request = new JoinRequest(OnGameJoined, id); GameClient.Instance.SendRequest(request); }
public GameCommand(GameClient.MessageHandler handler) : base(handler) { commandClass = this.GetType().Name; }
public CreateGuestRequest(GameClient.MessageHandler handler) : base(handler) { }
/// <summary> /// If a ClientRequest specifies a message handler, that will be called /// when a message with the corresponding ack id is received. /// </summary> /// <param name="handler"></param> public ClientRequest(GameClient.MessageHandler handler) { this.requestClass = this.GetType().Name; this.messageHandler = handler; }
public JoinRequest(GameClient.MessageHandler handler, long gameId) : base(handler) { this.gameId = gameId; }
public NewGameRequest(GameClient.MessageHandler handler, StarSystemData data) : base(handler) { this.systemId = data.id; }
/// <summary> /// If a ClientRequest specifies a message handler, that will be called /// when a message with the corresponding ack id is received. /// </summary> /// <param name="handler"></param> public ClientRequest(GameClient.MessageHandler handler) { this.requestClass = this.GetType().Name; this.messageHandler = handler; }