예제 #1
0
 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));
 }
예제 #2
0
 public EditPlaceViewModel(PlayerMarker player, ObservableCollection <PlaceMarker> placesCollection,
                           IPlaceRepository placeRepository)
 {
     this.placesCollection = placesCollection;
     this.placeRepository  = placeRepository;
     Player = player;
 }
예제 #3
0
        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);
                    }
                });
            }
        }