private void WallSetTheme(Session session, Packet packet) { uint cityId; string theme; try { cityId = packet.GetUInt32(); theme = packet.GetString(); } catch (Exception) { ReplyError(session, packet, Error.Unexpected); return; } ICity city; locker.Lock(cityId, out city).Do(() => { if (city == null || city.Owner != session.Player) { ReplyError(session, packet, Error.ObjectNotFound); return; } var result = themeManager.SetWallTheme(city, theme); ReplyWithResult(session, packet, result); }); }