private void HandleEventsMessage(EventsMessage message) { if (message.commandPlayer == GameManager.Instance.playerName) { CommandManager.Instance.AckReceived(message.ackId); } foreach (GameEvent gameEvent in message.events) { gameEventQueue.Add(gameEvent); } gameEventQueue.UpdatedView = message.updatedView; }
public void HandleMessage(JObject json) { string messageClass = (string)json["messageClass"]; switch (messageClass) { case "JoinMessage": JoinMessage join = json.ToObject <JoinMessage>(); HandleJoin(join); break; case "GameInitMessage": GameInitMessage gameInit = json.ToObject <GameInitMessage>(); HandleGameInit(gameInit); break; case "ValidPlaysMessage": ValidPlaysMessage valids = json.ToObject <ValidPlaysMessage>(); HandleValidPlays(valids); break; case "EventsMessage": EventsMessage eventsMsg = new EventsMessage(); eventsMsg.commandPlayer = json["commandPlayer"].ToString(); eventsMsg.ackId = json["ackId"].ToObject <int>(); eventsMsg.updatedView = json["updatedView"].ToObject <GameView>(); JEnumerable <JToken> eventList = json["events"].Children(); foreach (JToken token in eventList) { GameEvent gameEvent = EventFactory.FromJToken(token); if (gameEvent != null) { eventsMsg.events.Add(gameEvent); } } HandleEventsMessage(eventsMsg); break; default: Debug.LogError("Unknown message: " + messageClass); break; } }