Example #1
0
 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;
 }
Example #2
0
    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;
        }
    }