private void UpdateViews()
        {
            foreach (var conversation in PassiveConversationService.Conversations)
            {
                var control = new ConversationControl
                {
                    PassiveConversation = conversation
                };

                ConversationList.Items.Add(control);
            }
        }
Beispiel #2
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     Vm.RequestedConversationId = e.Parameter as string;
     UpdateLayout();
     SwitchToStyle(GetCurrentViewStyle());
     MainPanel.DisplayMode = SplitViewDisplayMode.CompactInline;
     if (Vm.SelectedThread != null)
     {
         ConversationControl.Load(Vm.SelectedThread);
     }
     Frame.SizeChanged += Frame_SizeChanged;
 }
Beispiel #3
0
    private void Awake()
    {
        damaged = 1;

        player_transform = player.GetComponent <Transform>();
        cc = canvas.GetComponent <ConversationControl>();
        rb = GetComponent <Rigidbody>();
        ac = GetComponent <AnimationControl>();

        trigger  = false;
        chu_zhao = false;
        reset    = false;
    }
        private async void HandleDirectText(Message message)
        {
            var sender  = message.GetDirectTextNickname();
            var content = message.GetDirectTextContent();

            var conversation =
                PassiveConversationService.Conversations.FirstOrDefault(c => c.Participants.Select(p => p.Nickname).Contains(sender)) ??
                await ConversationService.AddConversation(ConversationType.Passive, UserService.LoggedUser.Nickname, sender);

            var conversationControl = ConversationControls.FirstOrDefault(p => p.PassiveConversation == conversation);

            if (conversationControl == null)
            {
                conversationControl = new ConversationControl
                {
                    PassiveConversation = conversation
                };
                Dispatcher.Invoke(() =>
                {
                    ConversationList.Items.Add(conversationControl);
                });
            }

            if (SelectedConversationControl.PassiveConversation != conversationControl.PassiveConversation)
            {
                conversationControl.Notify();
            }

            var messageDisplay = MessageDisplays.FirstOrDefault(m => m.Conversation == conversation);

            if (messageDisplay == null)
            {
                messageDisplay = new MessageDisplayControl(conversation);
                Dispatcher.Invoke(() =>
                {
                    MessageDisplays.Add(messageDisplay);
                });
                return;
            }

            Dispatcher.Invoke(() =>
            {
                var msg = new TextMessage(content, DateTime.Now, UserService.GetUser(sender));
                conversation.Messages.Add(msg);
                messageDisplay.AddMessageControl(msg);
            });
        }
Beispiel #5
0
 public Conversation(IProtocol protocol, ConversationControl control, ProtocolSettings settings)
 {
     this.protocol = (Protocol)protocol;
     this.control  = control;
     this.settings = (Settings)settings;
 }
Beispiel #6
0
 internal void Reload()
 {
     ConversationControl.Load(Vm.SelectedThread);
 }
Beispiel #7
0
 /// <summary>
 /// Creates an instance of the plugin-implemented IConversation class.
 /// </summary>
 /// <param name="protocol"></param>
 /// <param name="control"></param>
 /// <param name="settings"></param>
 /// <returns></returns>
 public IConversation CreateConversation(IProtocol protocol, ConversationControl control, ProtocolSettings settings)
 {
     return((IConversation)this.assembly.CreateInstance(Config.Constants.ConversationClassName, true,
                                                        BindingFlags.CreateInstance, null,
                                                        new object[] { protocol, control, settings }, null, null));
 }