Beispiel #1
0
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            if (serviceClient == null || serviceClient.State != CommunicationState.Opened)
            {
                string server = ServerNameBox.Text.Trim();

                if (server.Length > 0)
                {
                    if (OpenServiceClient(server))
                    {
                        _Characters = new List <Character>(serviceClient.GetCharacters());

                        CombatStateService.SimpleCombatListItem[] items = serviceClient.GetCombatList();
                        _GuidCombatList = new List <CombatStateService.SimpleCombatListItem>(items);

                        _CombatList = new List <Character>();

                        foreach (Guid g in from r in _GuidCombatList select r.ID)
                        {
                            _CombatList.Add(_Characters.FirstOrDefault(a => a.ID == g));
                        }

                        _CurrentGuid      = serviceClient.GetCurrentCharacterID();
                        _CurrentCharacter = _Characters.FirstOrDefault(a => a.ID == _CurrentGuid);

                        ActiveCharacterBorder.DataContext = _CurrentCharacter;

                        CombatListBox.DataContext = _CombatList;
                        ConnectButton.Content     = "Disconnect";
                    }
                }
            }
            else
            {
                CloseSeviceClient();
                ConnectButton.Content = "Connect";
            }
        }