public void CreateUI()
        {
            Extensions.Execute.UIThread(() =>
            {
                if (Config.Get <FKConfig>().General.FKSettings.UseOverlayInGame)
                {
                    if (Account.DiabloIII.VideoPreferences.x0C_DisplayMode.x04_WindowMode == Enigma.D3.Graphics.WindowMode.Fullscreen)
                    {
                        System.Windows.MessageBox.Show("FindersKeepersD3 is not supported in Fullscreen.\nPlease run Diablo III in Window mode or Window Fullscreen.");
                        return;
                    }

                    Extensions.TryInvoke(() =>
                    {
                        LoadDefaultFeatures();
                        GameManager.Instance.GManager.GRef.D3Overlay = D3Overlay.Create(Account.DiabloIII.Process);
                        GameManager.Instance.GManager.GRef.D3Overlay.Show();

                        /*GameManager.Instance.GManager.GRef.Attacher = new Attach(GameManager.Instance.GManager.GRef.D3Overlay);
                         * GameManager.Instance.GManager.GRef.Attacher = new Attach(GameManager.Instance.GManager.GRef.D3Overlay);
                         * Action.Add(GameManager.Instance.GManager.GRef.Attacher.SetUpdate);*/

                        GameManager.Instance.GManager.GRef.D3OverlayControl = new Templates.Overlay.Attacher <D3OverlayControl>(GameManager.Instance.GManager.GRef.D3Overlay);
                        GameManager.Instance.GManager.GRef.D3OverlayControl.Initialize();

                        Action.Add(GameManager.Instance.GManager.GRef.Actors.Enumerate);
                        Action.Add(GameManager.Instance.GManager.GRef.D3OverlayControl.TryUpdate);

                        PInvokers.SetForegroundWindow(Account.DiabloIII.Process.MainWindowHandle);

                        Enigma.D3.Engine.Current         = Account.DiabloIII;
                        GameManagerAccountHelper.Current = Account;



                        //Debug.GetDDump.AttributesList();
                    });

                    Action.Add(() =>
                    {
                        if (GameManagerAccountHelper.Current.Player != null)
                        {
                            GameManagerAccountHelper.Current.Player.FreeSnapshot();
                        }
                    });
                }
            });
        }
Пример #2
0
        public Attacher(D3Overlay D3Window)
        {
            FKControls = new ObservableCollection <FKControl>();
            Tooltips   = new ObservableCollection <ToolTipHelper>();
            HitTesting = new List <Helpers.HitTesting>();

            D3RenderControl             = Activator.CreateInstance <T>();
            D3RenderControl.DataContext = this;

            Root = new Grid()
            {
                Height = 1200.5d
            };
            Root.Children.Add(D3RenderControl);

            Window = (Canvas)D3Window.Window;
            Window.Children.Add(Root);
            Window.SizeChanged += (s, e) => UpdateSizeAndPosition();

            UpdateSizeAndPosition();
        }