Example #1
0
        /// <summary>
        /// Creates a new instance of the SdkWrapper.
        /// </summary>
        public Sdk()
        {
            context        = SynchronizationContext.Current;
            sdk            = new iRacingSDK();
            EventRaiseType = EventRaiseTypes.CurrentThread;

            readMutex = new Mutex(false);

            TelemetryUpdateFrequency = 60;

            Replay             = new ReplayControl(this);
            Camera             = new CameraControl(this);
            PitCommands        = new PitCommandControl(this);
            Chat               = new ChatControl(this);
            Textures           = new TextureControl(this);
            TelemetryRecording = new TelemetryRecordingControl(this);

            deserializer = new DeserializerBuilder()
                           .IgnoreUnmatchedProperties()
                           .WithTypeConverter(new NumericTypeConverter())
                           .WithTypeConverter(new DoubleUnitTypeConverter())
                           .WithTypeConverter(new BooleanTypeConverter())
                           .WithTypeConverter(new EnumTypeConverter())
                           .WithTypeConverter(new ColorTypeConverter())
                           .WithTypeConverter(new TimeSpanTypeConverter())
                           .Build();
        }
Example #2
0
        private void GameMess_OnMessage(Core.Play.IGameMessage obj)
        {
            if (_logStream == null)
            {
                return;
            }

            if (obj is DebugMessage)
            {
                return;
            }

            string blockString = null;

            Program.Dispatcher.InvokeAsync(() => {
                var block = ChatControl.GameMessageToBlock(obj);

                blockString = BlockToString(block);

                try {
                    _logStream.Write(blockString);

                    _logStream.Flush();
                } catch (ObjectDisposedException) {
                }
            });
        }
Example #3
0
 /// <summary>
 /// Обновление чата на форме
 /// </summary>
 public void Chat_Update()
 {
     _chats.Clear();
     try
     {
         var chats = DataBaseHelper.UserChats(_userId);
         foreach (var c in chats)
         {
             var cont = new ChatControl(c);
             cont.SetClickHandler(СhatList_Click);
             _chats.Add(cont);
         }
         СhatList_CustomDraw();
         if (_chatId != Guid.Empty)
         {
             ChatInfoFill(DataBaseHelper.GetChat(_chatId));
         }
         else
         {
             ChatInfoClear();
         }
     }
     catch (Exception ex)
     {
         DataBaseHelper.ExceptionHandler(ex.Message);
     }
 }
Example #4
0
 public void MoveToWindow(ChatControl chat)
 {
     lock (Locker)
     {
         var win = new ChatWindow(chat);
         WindowManager.ChatWindows.Add(win);
         win.Show();
     }
 }
Example #5
0
 // Use this for initialization
 public override void OnStartClient () {
     input = GameObject.Find("ChatInput");
     chat = GameObject.Find("Chat").GetComponent<ChatControl>();
     eventSystem = GameObject.Find("EventSystem").GetComponent<EventSystem>();
     input.GetComponent<InputField>().Select();
     input.GetComponent<InputField>().OnPointerClick(new PointerEventData(EventSystem.current));
     input.SetActive(false);
     myAnimator = GetComponent<Animator>();
 }
Example #6
0
        public MainViewForm(Guid userId, AuthForm auth) : this()
        {
            // Скрываем панель доп тулов
            messageMainLayoutPanel.RowStyles[3].Height = 0;
            _additional      = false;
            _selfDestruction = false;
            _attached        = false;
            _attachList      = new List <string>();
            _auth            = auth;
            _userId          = userId;
            _chatId          = Guid.Empty;
            _chats           = new List <ChatControl>();
            _dropdown        = new PseudoDropDownHelper(this);
            _dialog          = new PseudoDialogHelper(this);
            try
            {
                var chats = DataBaseHelper.UserChats(_userId);
                foreach (var c in chats)
                {
                    var cont = new ChatControl(c);
                    cont.SetClickHandler(СhatList_Click);
                    _chats.Add(cont);
                }
            }
            catch (Exception ex)
            {
                DataBaseHelper.ExceptionHandler(ex.Message);
            }
            СhatList_CustomDraw();
            ChatInfoClear();

            Thread autoUpdate = new Thread(() =>
            {
                while (_update)
                {
                    Thread.Sleep(1000);
                    try
                    {
                        // Отключаем обновление при поиске
                        if (!_search)
                        {
                            // Invoke как safe-call контрола формы
                            Invoke((Action) delegate
                            {
                                MessagesRefresh(true);
                                MessagesResize();
                                ChatViewRefresh();
                                ChatsRefresh();
                            });
                        }
                    }
                    catch { }
                }
            });

            autoUpdate.Start();
        }
Example #7
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var mess = value as IGameMessage;

            if (mess == null)
            {
                return(null);
            }
            return(ChatControl.GameMessageToBlock(mess));
        }
Example #8
0
        internal void BeginPrivateMessage(int serial)
        {
            PartyMember member = GetMember((Serial)serial);

            if (member != null)
            {
                ChatControl chat = Service.Get <ChatControl>();
                chat.SetModeToPartyPrivate(member.Name, member.Serial);
            }
        }
Example #9
0
        private static void RunMacro(RunningMacroAction raction)
        {
            WorldModel  world = Service.Get <WorldModel>();
            ChatControl chat  = Service.Get <ChatControl>();

            switch (raction.Action.Macros[raction.m_MacroIndex].Type)
            {
            case MacroType.Say:
                chat.Speech(raction.Action.Macros[raction.m_MacroIndex].ValueString);
                break;

            case MacroType.Delay:
                if (raction.m_MacroDelayer == null)     //delay starts
                {
                    raction.m_MacroDelayer = DateTime.Now;
                    return;
                }

                int  delayMs = 0;
                bool result  = int.TryParse(raction.Action.Macros[raction.m_MacroIndex].ValueString, out delayMs);
                if (result)
                {
                    TimeSpan ts = DateTime.Now - raction.m_MacroDelayer.Value;
                    if ((int)ts.TotalMilliseconds >= delayMs)      //delay ends
                    {
                        raction.m_MacroDelayer = null;
                    }
                    else
                    {
                        return;     //prevent iterates
                    }
                }
                break;

            case MacroType.UseSkill:
                world.Interaction.UseSkill(raction.Action.Macros[raction.m_MacroIndex].ValueInteger);
                break;

            case MacroType.CastSpell:
                world.Interaction.CastSpell(raction.Action.Macros[raction.m_MacroIndex].ValueInteger);
                break;

            case MacroType.LastTarget:
                //'world.Interaction.LastTarget' must be update, after every click to mobile
                var source = WorldModel.Entities.GetObject <AEntity>(world.Interaction.LastTarget, false);
                if (source != null)
                {
                    world.Input.MousePick.PickOnly = PickType.PickStatics | PickType.PickObjects;
                    world.Cursor.mouseTargetingEventObject(source);
                    //cursor event must be change after the click
                }
                break;
            }
            raction.m_MacroIndex++;
        }
Example #10
0
        public void AddNewSplit()
        {
            var chatControl = new ChatControl();

            (tabControl.Selected as ColumnTabPage)?.AddColumn()?.Process(col =>
            {
                col.AddWidget(chatControl);
                col.Widgets.FirstOrDefault()?.Focus();
            });

            RenameSelectedSplit();
        }
Example #11
0
        private void SetWorkingState()
        {
            _currentState = States.Working;

            _chatControl = new ChatControl(user)
            {
                Location = new Point(0, 0)
            };
            Controls.Add(_chatControl);

            _prevState = States.Working;
        }
Example #12
0
 public ChatWindow(ChatRoom room)
 {
     Room            = room;
     this.Activated += OnActivated;
     this.Closing   += OnClosing;
     InitializeComponent();
     this.Title = Room.IsGroupChat
          ? Room.GroupUser.UserName
          : Room.Users.First(x => x != Program.LobbyClient.Me).UserName;
     Room.OnUserListChange += RoomOnOnUserListChange;
     ChatControl.SetRoom(Room);
 }
Example #13
0
        private void GameChatPanel_Load(object sender, EventArgs e)
        {
            string page_path = (Environment.CurrentDirectory).Replace("\\", "/") + "/data/chat/chat.html";

            if (File.Exists(page_path) == false)
            {
                MessageBox.Show(this, "聊天模块加载错误,请检查客户端是否完整", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            chat = new ChatControl(ref wbWorldChat, "file://" + page_path);
            // wbWorldChat.IsWebBrowserContextMenuEnabled = true;
        }
Example #14
0
        public void ChatMessage(string text, int font, int hue, bool asUnicode)
        {
            m_ChatQueue.Add(new QueuedMessage(text, font, hue, asUnicode));

            ChatControl chat = ServiceRegistry.GetService <ChatControl>();

            if (chat != null)
            {
                foreach (QueuedMessage msg in m_ChatQueue)
                {
                    chat.AddLine(msg.Text, msg.Font, msg.Hue, msg.AsUnicode);
                }
                m_ChatQueue.Clear();
            }
        }
Example #15
0
        public void Init()
        {
            if (Session.AuditContext.Audits.Where(a => a.Auditer.Login == Session.CurrentAuditer.Login).Count() > 0)
            {
                Session.AuditContext.Entry(Session.CurrentAuditer).Collection(a => a.Audits).Load();
            }
            this.DataContext = Session.CurrentAuditer;

            uscDashboard = new UserControlHome();
            uscAudit     = new UserControlCreate();
            server       = new Server();
            stgServer    = new SettingsServer(this);
            net          = new Net();
            chatControl  = new ChatControl(this);

            GridMain.Children.Add(uscDashboard);
        }
Example #16
0
    ChatControl chtBtn;            //对话按钮

    // Use this for initialization
    void Start()
    {
        //初始化
        Player    = GameObject.FindGameObjectWithTag("Player").transform;
        thisTrans = this.transform;
        //Chat_Rec = Button_Chat.GetComponent<RectTransform>();
        Load_chatTxt = GetComponent <LoadConversation>();
        chtBtn       = GameObject.FindObjectOfType <ChatControl>();
        //print("ChatButton:" + chtBtn.gameObject.name);

        /*
         * //获取技能键的初始位置
         * int len = SkillButtons.Length;
         * originPos = new Vector2[len];
         * for (int i = 0; i < len; i++)
         * {
         *  originPos[i] = SkillButtons[i].anchoredPosition;
         * }
         */
    }
Example #17
0
        public ChatWindow(ChatControl control)
        {
            Room            = control.Room;
            this.Activated += OnActivated;
            this.Closing   += OnClosing;
            InitializeComponent();
            this.Title = Room.IsGroupChat
                 ? Room.GroupUser.UserName
                 : Room.Users.First(x => x != Program.LobbyClient.Me).UserName;
            Room.OnUserListChange += RoomOnOnUserListChange;
            var chatParent = this.ChatControl.Parent as Panel;

            chatParent.Children.Remove(this.ChatControl);
            ChatControl        = control;
            ChatControl.Width  = Double.NaN;
            ChatControl.Height = Double.NaN;
            Grid.SetRow(ChatControl, 1);
            ChatControl.VerticalAlignment   = VerticalAlignment.Stretch;
            ChatControl.HorizontalAlignment = HorizontalAlignment.Stretch;
            chatParent.Children.Add(ChatControl);
        }
        public static void OpenChatWindow(DisplayedContactModel displayedContact)
        {
            if (displayedContact == null)
            {
                return;
            }
            UserModel user = new UserModel
            {
                Email     = displayedContact.Name,
                FirstName = displayedContact.Name,
                LastName  = displayedContact.Name,
                IsOnline  = false
            };

            foreach (Window win in App.Current.Windows)
            {
                if (win != null)
                {
                    if (win.Tag != null && win.Tag.ToString() == user.Email + "Child")
                    {
                        win.Focus();
                        return;
                    }
                }
            }
            Window child = new Window();

            child.Tag   = user.Email + "Child";
            child.Title = Resources.ChatWindowTitle;
            var chatControl   = new ChatControl();
            var chatViewModel = new ChatViewModel(child, displayedContact, chatControl.AutoScrollViewer);

            chatControl.DataContext = chatViewModel;
            child.Content           = chatControl;
            child.SizeToContent     = SizeToContent.WidthAndHeight;
            child.Icon = BitmapFrame.Create(new Uri("pack://application:,,,/Resources/Chat.ico", UriKind.RelativeOrAbsolute));
            child.Show();
        }
Example #19
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     ChatControl.Save();
 }
Example #20
0
 public ChatForm(string[] args)
 {
     InitializeComponent();
     arguments = args;
     ChatControl.SetupChatEnvironment(GetUsersFromDB, false);
 }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            WindowPosition.Move(this);

            _windowState = this.WindowState;

            Thread.CurrentThread.Priority = ThreadPriority.Highest;

            TopRelativeDoubleConverter.GetDoubleEvent = (object state) =>
            {
                return this.PointToScreen(new Point(0, 0)).Y;
            };

            LeftRelativeDoubleConverter.GetDoubleEvent = (object state) =>
            {
                return this.PointToScreen(new Point(0, 0)).X;
            };

            var informationControl = new InformationControl(_amoebaManager, _bufferManager);
            informationControl.Height = Double.NaN;
            informationControl.Width = Double.NaN;
            _infoTabItem.Content = informationControl;

            var linkControl = new LinkControl(_amoebaManager, _bufferManager);
            linkControl.Height = Double.NaN;
            linkControl.Width = Double.NaN;
            _linkTabItem.Content = linkControl;

            var chatControl = new ChatControl(_amoebaManager, _bufferManager);
            chatControl.Height = Double.NaN;
            chatControl.Width = Double.NaN;
            _chatTabItem.Content = chatControl;

            var searchControl = new SearchControl(_amoebaManager, _bufferManager);
            searchControl.Height = Double.NaN;
            searchControl.Width = Double.NaN;
            _searchTabItem.Content = searchControl;

            var downloadControl = new DownloadControl(_amoebaManager, _bufferManager);
            downloadControl.Height = Double.NaN;
            downloadControl.Width = Double.NaN;
            _downloadTabItem.Content = downloadControl;

            var uploadControl = new UploadControl(_amoebaManager, _bufferManager);
            uploadControl.Height = Double.NaN;
            uploadControl.Width = Double.NaN;
            _uploadTabItem.Content = uploadControl;

            var shareControl = new ShareControl(_amoebaManager, _bufferManager);
            shareControl.Height = Double.NaN;
            shareControl.Width = Double.NaN;
            _shareTabItem.Content = shareControl;

            var storeControl = new StoreControl(_amoebaManager, _bufferManager);
            storeControl.Height = Double.NaN;
            storeControl.Width = Double.NaN;
            _storeTabItem.Content = storeControl;

            if (Settings.Instance.Global_IsConnectRunning)
            {
                _connectStartMenuItem_Click(null, null);
            }

            if (Settings.Instance.Global_IsConvertRunning)
            {
                _convertStartMenuItem_Click(null, null);
            }

            if (Settings.Instance.Global_Update_Option == UpdateOption.Check
               || Settings.Instance.Global_Update_Option == UpdateOption.Update)
            {
                this.CheckUpdate(false);
            }
        }
Example #22
0
 private void SetupChat()
 {
     ChatControl.SetupChatEnvironment(GetPlatformUsers, true);
     ChatEngine.MessageReceived += ChatEngineOnMessageReceived;
 }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            WindowPosition.Move(this);

            _windowState = this.WindowState;

            Thread.CurrentThread.Priority = ThreadPriority.Highest;

            TopRelativeDoubleConverter.GetDoubleEvent = (object state) =>
            {
                return this.PointToScreen(new Point(0, 0)).Y;
            };

            LeftRelativeDoubleConverter.GetDoubleEvent = (object state) =>
            {
                return this.PointToScreen(new Point(0, 0)).X;
            };

            WorldControl worldControl = new WorldControl(_outoposManager, _bufferManager);
            worldControl.Height = Double.NaN;
            worldControl.Width = Double.NaN;
            _worldContentControl.Content = worldControl;

            ChatControl chatControl = new ChatControl(_outoposManager, _bufferManager);
            chatControl.Height = Double.NaN;
            chatControl.Width = Double.NaN;
            _chatContentControl.Content = chatControl;

            if (Settings.Instance.Global_Update_Option == UpdateOption.AutoCheck
               || Settings.Instance.Global_Update_Option == UpdateOption.AutoUpdate)
            {
                this.CheckUpdate(false);
            }

            this.SetConnectionState(ConnectionState.Red);

            this.GarbageCollect();
        }
Example #24
0
        public void LoadLayout(string path)
        {
            try
            {
                string channelNames = "";
                if (File.Exists(path))
                {
                    var doc = XDocument.Load(path);

                    doc.Root.Process(root =>
                    {
                        foreach (var tab in doc.Elements().First().Elements("tab"))
                        {
                            Console.WriteLine("tab");

                            var page = new ColumnTabPage();

                            page.CustomTitle = tab.Attribute("title")?.Value;

                            page.EnableNewMessageHighlights = (tab.Attribute("enableNewMessageHighlights")?.Value?.ToUpper() ?? "TRUE") == "TRUE";

                            page.EnableGoLiveHighlights = (tab.Attribute("enableGoLiveHighlights")?.Value?.ToUpper() ?? "TRUE") == "TRUE";

                            foreach (var col in tab.Elements("column"))
                            {
                                var column = new ChatColumn();

                                foreach (var chat in col.Elements("chat"))
                                {
                                    if (chat.Attribute("type")?.Value == "twitch")
                                    {
                                        Console.WriteLine("added chat");

                                        var channel = chat.Attribute("channel")?.Value;
                                        try {
                                            var widget         = new ChatControl();
                                            widget.ChannelName = channel;
                                            column.AddWidget(widget);
                                        }  catch (Exception e) {
                                            GuiEngine.Current.log("error loading tab " + e.Message);
                                        }
                                    }
                                }

                                if (column.WidgetCount == 0)
                                {
                                    column.AddWidget(new ChatControl());
                                }

                                page.AddColumn(column);
                            }


                            tabControl.AddTab(page);
                        }
                    });
                }
            }
            catch (Exception exc)
            {
                GuiEngine.Current.log("error loading layout " + exc.Message);
            }

            //columnLayoutControl1.ClearGrid();

            //try
            //{
            //    if (File.Exists(path))
            //    {
            //        XDocument doc = XDocument.Load(path);
            //        doc.Root.Process(root =>
            //        {
            //            root.Elements("tab").Do(tab =>
            //            {
            //                int columnIndex = 0;
            //                tab.Elements("column").Do(xD =>
            //                {
            //                    int rowIndex = 0;
            //                    xD.Elements().Do(x =>
            //                    {
            //                        switch (x.Name.LocalName)
            //                        {
            //                            case "chat":
            //                                if (x.Attribute("type").Value == "twitch")
            //                                {
            //                                    AddChannel(x.Attribute("channel").Value, columnIndex, rowIndex == 0 ? -1 : rowIndex);
            //                                }
            //                                break;
            //                        }
            //                        rowIndex++;
            //                    });
            //                    columnIndex++;
            //                });
            //            });
            //        });
            //    }
            //}
            //catch { }

            if (!tabControl.TabPages.Any())
            {
                tabControl.AddTab(new ColumnTabPage());
            }

            //if (columnLayoutControl1.Columns.Count == 0)
            //    AddChannel("fourtf");
        }
Example #25
0
 //public string _Xml;
 void Start()
 {
     chatCtrl = GameObject.FindObjectOfType <ChatControl>();//获取控制对话的对象
     //if(useXml);
 }
Example #26
0
 private void form2_SendMessage(object sender, ChatControl.ChatEventArgs e)
 {
     this.form1.AddMessage(e.Message.UserName, e.Message.Text);
 }
Example #27
0
        private ChatControl CreateChatControl(ClientInfo cli)
        {
            ChatControl cc = new ChatControl();
            cc.IdToTalkTo = cli.LoginId;
            cc.SendMessage += new EventHandler<WPFChat.Library.GenericEventArgs<string>>(cc_SendMessage);
            TabItem ti = new TabItem();

            StackPanel pnlHeader = new StackPanel();
            pnlHeader.Orientation = Orientation.Horizontal;

            ChatTabHeader tabHeader = new ChatTabHeader();

            tabHeader.txtLoginId.Text = cli.LoginId;
            tabHeader.btnCloseChat.Click += delegate(object sender, RoutedEventArgs e)
            {
                tabChatWindows.Items.Remove(ti);
            };
         
            tabHeader.Tag = cli;
            tabHeader.imgAvatar.Source = Utils.GetImageFromAvatar(cli.Avatar).Source;

            ti.Header = tabHeader;
            ti.Content = cc;
            tabChatWindows.Items.Add(ti);
            tabChatWindows.SelectedItem = ti;

            return cc;
        }
Example #28
0
 public void MoveToChatBar(ChatControl chat)
 {
     lock (Locker)
         ChatBar.AddChat(chat);
 }
 // Start is called before the first frame update
 void Start()
 {
     this.chatControlInstance = player.GetComponent <ChatControl>();
 }