Beispiel #1
0
 private void SetChannel(Channel channel)
 {
     Channel = channel;
     Members = new UIThreadObservableList <ChannelMemberViewModel>(new MappingObservableList <Channel.Member, ChannelMemberViewModel>(
                                                                       new SortingObservableList <Channel.Member>(Channel.Members, Comparer <Channel.Member> .Create((x1, x2) => Comparer <string> .Default.Compare(x1.Character.Name, x2.Character.Name))),
                                                                       member => new ChannelMemberViewModel(characterManager, channelManager, Channel, member)));
 }
Beispiel #2
0
 public CharacterConversationViewModel(Func <Command, bool> commandHandler, IMessageManager messageManager, ILogManager logManager, CharacterViewModel character) :
     base(commandHandler, messageManager)
 {
     MaxMessageBytes     = messageManager.MaxPrivateBytes;
     Character           = character;
     this.messageManager = messageManager;
     messages            = new ObservableList <MessageViewModel>(logManager.LoadReverse(logManager.GetLogId(character.Character), false, 20).Select(x => new MessageViewModel(x, true)));
     Messages            = new UIThreadObservableList <MessageViewModel>(messages);
     messageManager.CharacterMessageReceived += (c, message) => {
         if (c == character.Character)
         {
             AddToMessages(messages, new MessageViewModel(message));
         }
     };
     EnteredTextChanged += () => SetTyping(!string.IsNullOrEmpty(EnteredText));
     IsPinned            = CharacterSettings.Instance.PinnedCharacters.Contains(Name);
     TypingCommand       = new MvxCommand <bool>(SetTyping);
 }