public ChatViewModel(PlayerMarker player, IChatRepository chatRepository, Dispatcher dispatcher) { this.player = player; this.chatRepository = chatRepository; this.dispatcher = dispatcher; this.chatRepository.ChatLineAdded += (sender, line) => dispatcher.Invoke(() => Lines.Add(line)); }
public EditPlaceViewModel(PlayerMarker player, ObservableCollection <PlaceMarker> placesCollection, IPlaceRepository placeRepository) { this.placesCollection = placesCollection; this.placeRepository = placeRepository; Player = player; }
private void OnRemotePlayerUpdated(Player player) { if (player.Id != mapViewModel.Player.Id) { Dispatcher.Invoke(() => { if (!remotePlayerMarkers.TryGetValue(player.Id, out PlayerMarker marker)) { marker = new PlayerMarker(player); remotePlayerMarkers[player.Id] = marker; mapViewModel.Players.Add(marker); } else { marker.UpdateFromModel(player); } }); } }