Beispiel #1
0
 public static bool Interpret(IMessage message, IClientService service)
 {
     switch (message.Header)
       {
     case MessageHeaders.ON_LOGIN_FAILED:
       service.OnLoginFailed();
       break;
     case MessageHeaders.ON_LOGIN_SUCCEEDED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnLoginSucceeded(reader.ReadUserId(), reader.ReadArray((Func<User>)reader.ReadUser)));
       break;
     case MessageHeaders.ON_USER_LOGINED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnUserLogined(reader.ReadUser()));
       break;
     case MessageHeaders.ON_USER_EXITED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnUserExited(reader.ReadUserId()));
       break;
     case MessageHeaders.ON_MESSAGE_RECEIVED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnMessageReceived(reader.ReadUserId(), reader.ReadString()));
       break;
     case MessageHeaders.ON_BROADCAST_RECEIVED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnBroadcastReceived(reader.ReadUserId(), reader.ReadString()));
       break;
     case MessageHeaders.ON_USER_STATE_CHANGED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnUserStateChanged(reader.ReadUserId(), reader.ReadUserState()));
       break;
     case MessageHeaders.ON_USER_INFO_CHANGED:
       MessageHelper.ResolveMessage(message, reader =>
     service.OnUserInfoChanged(reader.ReadUserId(), reader.ReadUserState(), reader.ReadString()));
       break;
     default:
       return false;
       }
       return true;
 }