public MainViewModel(string login) { Login = login; CurrentPlayer = new Player(Login); Players = new List <Player>(); Players.Add(CurrentPlayer); Players.Add(new Player("Enemy")); Window = new MainWindow(); Window.DataContext = this; MyHand = new PlayerHandViewModel(true, CurrentPlayer); PrepareMap(); _client = new Client(); _client.EstablishConnection(); _client.SendMessage(new InitializeMessage { Login = login, }); _client.OnReceiveMessageEvent += ReceivedMessageFromClient; ReadyButtonVisibility = Visibility.Visible; LampImage = ImagePaths.LampFix; PickImage = ImagePaths.LampFix; TrolleyImage = ImagePaths.LampFix; _cardsToFold = new List <HandCard>(); }
private void Init() { _cardsToFold = new List <HandCard>(); MyHand = new PlayerHandViewModel(true, CurrentPlayer); _clientLogic.Client.OnReceiveMessageEvent += ReceivedMessageFromClient; CurrentPlayer = new Player(Login); _table = new ClientLibrary.Table(); _table.AddPlayer(CurrentPlayer); }
private void HandleInitializeTableMessage(InitializeTableMessage message) { Application.Current.Dispatcher.Invoke(delegate { foreach (var goldCard in message.GoldCards) { Map[goldCard.Coordinates.Coordinate_Y][goldCard.Coordinates.Coordinate_X] = goldCard; } foreach (var startCard in message.StartCards) { Map[startCard.Coordinates.Coordinate_Y][startCard.Coordinates.Coordinate_X] = startCard; } Players = message.Players; }); OnPropertyChanged(nameof(Map)); EnemyHand = new PlayerHandViewModel(false, Players.First(pl => pl.Id != CurrentPlayer.Id)); OnPropertyChanged(nameof(EnemyHand)); }