Beispiel #1
0
        public ActiveAreaFeature(OverlayPlugin plugin, XmlNode node)
        {
            mPlugin = plugin;
            XmlNode triggerNode = node.SelectSingleNode("child::Trigger");
            XmlNode featureNode = node.SelectSingleNode("child::Feature");

            if (triggerNode == null)
            {
                throw new ArgumentException("Unable to load Active Area. No 'Trigger' attribute specified.");
            }
            if (featureNode == null)
            {
                throw new ArgumentException("Unable to load Active Area. No 'Feature' attribute specified.");
            }

            mTrigger = new ActiveAreaTrigger(plugin, triggerNode);
            mFeature = mPlugin.GetFeature(featureNode, "conditional feature", null);

            if (mFeature == null)
            {
                throw new ArgumentException("Unable to load Active Area. Unable to parse feature.");
            }

            mTrigger.Triggered += new Action <ITrigger>(mActiveTrigger_Triggered);
        }
Beispiel #2
0
 public TimerTrigger(OverlayPlugin plugin, XmlNode node)
     : base(node)
 {
     mCore         = plugin.Core;
     mTickListener = new Action(mCore_Tick);
     mLengthMS     = GetDouble(node, mLengthMS, "LengthMS");
 }
 public MouseActiveTrigger(OverlayPlugin plugin, XmlNode node)
     : base(node)
 {
     mManager      = GetManager(plugin, node, "trigger");
     mCore         = plugin.Core;
     mMoveListener = new Action <FrameOverlayManager, EventArgs>(mManager_CursorMoved);
 }
Beispiel #4
0
        public SayFeature(OverlayPlugin plugin, XmlNode node)
        {
            mTriggerListener = new Action <ITrigger>(TriggerListener);

            mFrame = GetManager(plugin, node, "Say Feature").Name;

            List <ITrigger> triggers = new List <ITrigger>();

            foreach (XmlNode trigger in GetChildrenOfChild(node, "Triggers"))
            {
                ITrigger t = plugin.GetTrigger(trigger, "Say trigger", null);
                if (t != null)
                {
                    triggers.Add(t);
                }
            }
            mTriggers = triggers.ToArray();
            if (plugin.Core[mFrame].Output is OpenSimController)
            {
                mController = plugin.Core[mFrame].Output as OpenSimController;
            }
            mPlugin        = plugin;
            mMessageString = GetString(node, "click", "Message");
            mChannel       = GetInt(node, 1, "Channel");
        }
        public ConditionalFeature(OverlayPlugin plugin, XmlNode node)
        {
            mPlugin = plugin;
            XmlNode featureNode = node.SelectSingleNode("child::Feature");

            mStartActive = GetBool(node, false, "StartActive");
            mMultiActivate = GetBool(node, false, "MultiActivate");

            if (featureNode == null)
                throw new ArgumentException("Unable to load Conditional Feature. Unable to parse feature.");

            foreach (var child in GetChildrenOfChild(node, "ActiveTriggers")) {
                var trigger = plugin.GetTrigger(child, "conditional feature", null);
                mActiveTriggers.Add(trigger);
                trigger.Triggered += mActiveTrigger_Triggered;
            } foreach (var child in GetChildrenOfChild(node, "InactiveTriggers")) {
                var trigger = plugin.GetTrigger(child, "conditional feature", null);
                mInactiveTriggers.Add(trigger);
                trigger.Triggered += mInactiveTrigger_Triggered;
            }

            mFeature = mPlugin.GetFeature(featureNode, "conditional feature", null);

            if (node.SelectSingleNode("child::ActiveTriggers") == null)
                Logger.Info("No active trigger node found in conditional feature " + Name + ".");
            if (node.SelectSingleNode("child::InactiveTriggers") == null)
                Logger.Info("No inactive trigger node found in conditional feature.");

            if (mActiveTriggers.Count == 0)
                Logger.Info("No active triggers loaded in conditional feature " + Name + ".");
            if (mInactiveTriggers.Count == 0)
                Logger.Info("No inactive triggers loaded in conditional feature " + Name + ".");
        }
 public TouchscreenState(string name, bool avatar, OverlayPlugin manager, XmlNode node)
     : base(name, manager, node)
 {
     mPlugin         = manager.Core.GetPlugin <TouchscreenPlugin>();
     mPlugin.Enabled = false;
     mAvatar         = avatar;
 }
Beispiel #7
0
        public ImageBGState(OverlayPlugin manager, XmlNode node, bool enableCursor)
            : base(GetName(node, "image background state"), manager, node, enableCursor)
        {
            mDefaultBG = new Bitmap(manager.Clip.Width, manager.Clip.Height);
            using (Graphics g = Graphics.FromImage(mDefaultBG))
                g.FillRectangle(Brushes.Black, manager.Clip);

            foreach (XmlNode child in node.ChildNodes)
            {
                if (!(child is XmlElement))
                {
                    continue;
                }
                string imgStr = GetString(child, null, "File");
                if (imgStr != null && File.Exists(Path.GetFullPath(imgStr)))
                {
                    Bitmap img = new Bitmap(imgStr);
                    if (img != null)
                    {
                        string window = GetManager(manager, child, "image background state").Frame.Name;
                        mWindowBGs.Add(window, img);
                        if (mWindows.ContainsKey(window))
                        {
                            mWindows[window].BackgroundImage = img;
                        }
                    }
                }
            }
        }
Beispiel #8
0
        private bool StartRenderOverlayPrimes()
        {
            if (_overlay == null)
            {
                _overlay = new WPFOverlay();
            }

            if (_processSharp == null)
            {
                _processSharp = new ProcessSharp(Warframe.GetProcess(), MemoryType.Remote);
            }

            var process = Warframe.GetProcess();

            if (process != null)
            {
                var _wpfoverlay = (WPFOverlay)_overlay;

                if (!_wpfoverlay.Initialized)
                {
                    _wpfoverlay.Initialize(_processSharp.WindowFactory.MainWindow);
                }

                _wpfoverlay.UpdatePrimesData(displayPrimes);
                return(true);
            }

            return(false);
        }
Beispiel #9
0
 private void LoadTriggers(OverlayPlugin manager, XmlNode node, bool next)
 {
     foreach (XmlNode child in GetChildrenOfChild(node, (next ? "Next" : "Prev") + "Triggers"))
     {
         AddTrigger(next, manager.GetTrigger(child, "slideshow state " + (next ? "next" : "prev"), null));
     }
 }
Beispiel #10
0
        /// <summary>
        ///     Starts the demo.
        /// </summary>
        public void StartDemo()
        {
            var processName = "PathOfExile";
            var process     = System.Diagnostics.Process.GetProcessesByName(processName).FirstOrDefault();

            if (process == null)
            {
                return;
            }

            _processSharp = new ProcessSharp(process, MemoryType.Remote);
            _overlay      = new WpfOverlayDemoExample();

            var wpfOverlay = (WpfOverlayDemoExample)_overlay;

            wpfOverlay.Initialize(_processSharp.WindowFactory.MainWindow);
            wpfOverlay.Enable();

            _work = true;
            var info = wpfOverlay.Settings.Current;

            wpfOverlay.OverlayWindow.Draw += OnDraw;
            while (_work)
            {
                _overlay.Update();
            }
        }
        public SlideshowState(OverlayPlugin manager, XmlNode node)
            : base(GetName(node, "slideshow state"), manager, node)
        {
            mTickListener = new Action(Core_Tick);

            mStepLengthS = GetInt(node, -1, "StepLengthS");

            int count = 1;
            List<List<IFeature>> steps = new List<List<IFeature>>();
            foreach (var step in GetChildrenOfChild(node, "Steps")) {
                List<IFeature> stepFeatures = new List<IFeature>();
                foreach (var stepFeature in step.ChildNodes.OfType<XmlElement>()) {
                    IFeature feature = manager.GetFeature(stepFeature, "slideshow step " + count, null);
                    if (feature != null) {
                        stepFeatures.Add(feature);
                        AddFeature(feature);
                    }
                }
                steps.Add(stepFeatures);
                count++;
            }

            if (steps.Count == 0)
                throw new ArgumentException("Unable to create slideshow state. No steps specified.");

            mSteps = steps.ToArray();

            LoadTriggers(manager, node, true);
            LoadTriggers(manager, node, false);
        }
Beispiel #12
0
 public InfoState(OverlayPlugin manager, XmlNode node)
     : base(GetName(node, "information state"), manager, node, true)
 {
     mPlugin       = manager;
     mGlowString   = GetString(node, "Glow", "GlowMessage");
     mNoGlowString = GetString(node, "NoGlow", "NoGlowMessage");
     mGlowChannel  = GetInt(node, -40, "GlowChannel");
 }
        public CursorRenderer(OverlayPlugin manager, XmlNode node)
        {
            ISelectionRenderer renderer = manager.GetRenderer(node, "cursor renderer", null, "InnerRenderer");
            mOverlayManager = GetManager(manager, node, "cursor renderer");

            Size size = new Size(GetInt(node, 80, "W"), GetInt(node, 80, "H"));
            Init(size, renderer.DrawHover);
        }
Beispiel #14
0
        public SlideshowState(string name, OverlayPlugin manager, string folder, ITrigger next, ITrigger prev, IFeatureTransitionFactory transition, double fadeLengthMS)
            : base(name, manager)
        {
            AddTrigger(true, next);
            AddTrigger(false, prev);

            mTickListener = new Action(Core_Tick);
        }
        /// <summary>
        ///     Starts the demo.
        /// </summary>
        public void StartDemo()
        {
            Log.Debug(@"Please type the process name of the window you want to attach to, e.g 'notepad.");
            Log.Debug("Note: If there is more than one process found, the first will be used.");

            // Set up objects/overlay
            var processName = Console.ReadLine();
            var process     = System.Diagnostics.Process.GetProcessesByName(processName).FirstOrDefault();

            if (process == null)
            {
                Log.Warn($"No process by the name of {processName} was found.");
                Log.Warn("Please open one or use a different name and restart the demo.");
                Console.ReadLine();
                return;
            }

            _processSharp = new ProcessSharp(process, MemoryType.Remote);
            _overlay      = new WpfOverlayDemoExample();

            var wpfOverlay = (WpfOverlayDemoExample)_overlay;

            // This is done to focus on the fact the Init method
            // is overriden in the wpf overlay demo in order to set the
            // wpf overlay window instance
            wpfOverlay.Initialize(_processSharp.WindowFactory.MainWindow);
            wpfOverlay.Enable();

            _work = true;

            // Log some info about the overlay.
            Log.Debug("Starting update loop (open the process you specified and drag around)");
            Log.Debug("Update rate: " + wpfOverlay.Settings.Current.UpdateRate.Milliseconds());

            var info = wpfOverlay.Settings.Current;

            Log.Debug($"Author: {info.Author}");
            Log.Debug($"Description: {info.Description}");
            Log.Debug($"Name: {info.Name}");
            Log.Debug($"Identifier: {info.Identifier}");
            Log.Debug($"Version: {info.Version}");

            Log.Info("Note: Settings are saved to a settings folder in your main app folder.");

            Log.Info("Give your window focus to enable the overlay (and unfocus to disable..)");

            Log.Info("Close the console to end the demo.");

            wpfOverlay.OverlayWindow.Draw += OnDraw;

            // Do work
            while (_work)
            {
                _overlay.Update();
            }

            Log.Debug("Demo complete.");
        }
Beispiel #16
0
        public void StartDemo()
        {
            Console.Title = @"Âđĺě˙ çŕęŕçîâ äë˙ Äŕëüíîáîéůčęŕ";
            //var processName = "notepad"; //čě˙ ďđîöĺńńŕ
            var processName = "GTA5"; //čě˙ ďđîöĺńńŕ

            var process = System.Diagnostics.Process.GetProcessesByName(processName).FirstOrDefault();

            if (process == null)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine($"Čăđŕ íĺ íŕéäĺíŕ.");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Îćčäŕíčĺ çŕďóńęŕ čăđű...");
                System.Threading.Thread.Sleep(5000);
                Console.Clear();
                StartDemo();
            }

            _directXoverlayPluginExample = new DirectxOverlayPluginExample();
            _processSharp = new ProcessSharp(process, MemoryType.Remote);
            var result = "30";

            var fpsValid = int.TryParse(Convert.ToString(result, CultureInfo.InvariantCulture), NumberStyles.Any,
                                        NumberFormatInfo.InvariantInfo, out int fps);

            var d3DOverlay = (DirectxOverlayPluginExample)_directXoverlayPluginExample;

            d3DOverlay.Settings.Current.UpdateRate = 1000 / fps;
            _directXoverlayPluginExample.Initialize(_processSharp.WindowFactory.MainWindow);
            _directXoverlayPluginExample.Enable();

            // Log some info about the overlay.

            var info = d3DOverlay.Settings.Current;

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write($"Ŕâňîđ: ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine($"{ info.Author}");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write($"Îâĺđëĺé: ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine($"{ info.Identifier}");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write($"Âĺđńč˙: ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine($"{ info.Version}");
            Console.WriteLine("");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("×ňîáű âűęëţ÷čňü îâĺđëĺé - çŕęđîéňĺ ęîíńîëü.");

            while (true)
            {
                _directXoverlayPluginExample.Update();
            }
        }
        public ITransitionStyle Create(OverlayPlugin manager, XmlNode node)
        {
            Logger.Info("Creating Opacity Window Transition");
            string transition = GetString(node, "Fade", "Transition");
            double length     = GetDouble(node, 5000.0, "Length");
            bool   fadeOut    = GetBool(node, true, "FadeOut");

            return(new OpacityFadeWindowTransitionFactory(length, fadeOut));
        }
Beispiel #18
0
        protected ControlFeature(OverlayPlugin manager, XmlNode node, bool SingletonControl, Rectangle clip)
            : this(manager, node, SingletonControl)
        {
            mClip = clip;

            mBounds.X      = mBounds.X / clip.Width;
            mBounds.Y      = mBounds.Y / clip.Height;
            mBounds.Width  = GetFloat(node, mClip.Width, "W", "Width") / clip.Width;
            mBounds.Height = GetFloat(node, mClip.Height, "H", "Height") / clip.Height;
        }
Beispiel #19
0
        public UnityState(OverlayPlugin manager, XmlNode node)
            : base(GetName(node, "creating unity state"), manager, node, false)
        {
            mUnity      = Path.GetFullPath(GetString(node, null, "File"));
            mManager    = manager;
            mMainWindow = GetManager(manager, node, "unity state");
            mBounds     = manager.GetBounds(node, "unity state");

            ResizedHandler = new System.EventHandler(this.Resized);
        }
Beispiel #20
0
        public CursorRenderer(OverlayPlugin manager, XmlNode node)
        {
            ISelectionRenderer renderer = manager.GetRenderer(node, "cursor renderer", null, "InnerRenderer");

            mOverlayManager = GetManager(manager, node, "cursor renderer");

            Size size = new Size(GetInt(node, 80, "W"), GetInt(node, 80, "H"));

            Init(size, renderer.DrawHover);
        }
Beispiel #21
0
        public FillFeature(OverlayPlugin plugin, XmlNode node) : base(plugin, node)
        {
            mFill = GetEnum <Fill>(node, Fill.Full, LogManager.GetLogger("UnrealOverlay"), "Fill");

            mController = Manager.Frame.Output as UnrealController;
            if (mController == null)
            {
                throw new Exception("Cannot use FillFeature, UnrealController is not the controller.");
            }
        }
Beispiel #22
0
 public BrowserFeature(OverlayPlugin manager, XmlNode node, Rectangle clip)
     : base(manager, node, SINGLETON, clip)
 {
     mUrl = GetString(node, "http://get.webgl.org/", "URL");
     mLoadTriggeredURL = GetBool(node, false, "LoadTriggeredURL");
     mReturnToURL      = GetBool(node, true, "ReturnToURL");
     mWhiteList        = GetString(node, "", "WhiteList");
     mBlackList        = GetString(node, "", "BlackList");
     Init();
 }
        public SendStringFeature(OverlayPlugin manager, XmlNode node)
            : base(manager, node)
        {
            mString = GetString(node, "Blah", "String");

            if (!(manager.Core.Frames[0].Output is UnrealController))
            {
                throw new Exception("Unable to load unreal send string feature. No unreal controller found.");
            }
            mController = manager.Core.Frames[0].Output as UnrealController;
        }
Beispiel #24
0
        public MuteAudioFeature(OverlayPlugin plugin, XmlNode node)
        {
            mFrame = GetManager(plugin, node, "MuteAudio Feature").Name;
            mMute  = GetBool(node, false, "Mute");

            if (plugin.Core[mFrame].Output is OpenSimController)
            {
                mController = plugin.Core[mFrame].Output as OpenSimController;
            }
            mPlugin = plugin;
        }
Beispiel #25
0
        public ExploreState(OverlayPlugin manager, XmlNode node)
            : base(GetName(node, "explore state"), manager)
        {
            mAvatar = GetBool(node, false, "Avatar");

            mSetOrientation = node.Attributes["Pitch"] != null || node.Attributes["Yaw"] != null;
            mSetPosition = node.Attributes["X"] != null && node.Attributes["Y"] != null && node.Attributes["Z"] != null;

            mStartOrientation = new Rotation(GetDouble(node, 0.0, "Pitch"), GetDouble(node, 0.0, "Yaw"));
            mStartPosition = new Vector3(GetFloat(node, 0f, "X"), GetFloat(node, 0f, "Y"), GetFloat(node, 0f, "Z"));
        }
Beispiel #26
0
        public ExploreState(OverlayPlugin manager, XmlNode node)
            : base(GetName(node, "explore state"), manager, node)
        {
            mAvatar = GetBool(node, false, "Avatar");

            mSetOrientation = node.Attributes["Pitch"] != null || node.Attributes["Yaw"] != null;
            mSetPosition    = node.Attributes["X"] != null && node.Attributes["Y"] != null && node.Attributes["Z"] != null;

            mStartOrientation = new Rotation(GetDouble(node, 0.0, "Pitch"), GetDouble(node, 0.0, "Yaw"));
            mStartPosition    = new Vector3(GetFloat(node, 0f, "X"), GetFloat(node, 0f, "Y"), GetFloat(node, 0f, "Z"));
        }
Beispiel #27
0
 public KeyPressFeature(OverlayPlugin plugin, XmlNode node)
 {
     mPlugin = plugin;
     keys    = node.Attributes["Keys"].Value;
     ThisLogger.WarnFormat("Creating KeyPress with: {0}", keys);
     mFrame = GetManager(plugin, node, "Click Feature").Name;
     if (plugin.Core[mFrame].Output is OpenSimController)
     {
         mController = plugin.Core[mFrame].Output as OpenSimController;
     }
 }
Beispiel #28
0
        public SayOnceFeature(OverlayPlugin plugin, XmlNode node)
        {
            mFrame = GetManager(plugin, node, "SayOnce Feature").Name;

            if (plugin.Core[mFrame].Output is OpenSimController)
            {
                mController = plugin.Core[mFrame].Output as OpenSimController;
            }
            mPlugin        = plugin;
            mMessageString = GetString(node, "click", "Message");
            mChannel       = GetInt(node, 1, "Channel");
        }
Beispiel #29
0
        public FlythroughEndTrigger(OverlayPlugin overlayPlugin, XmlNode node)
            : base(node)
        {
            if (!overlayPlugin.Core.HasPlugin <FlythroughPlugin>())
            {
                Logger.Warn("Unable to instantiate FlythroughEndTrigger FlythroughPlugin is not registered.");
                return;
            }

            mFlythroughEndListener = new EventHandler(mPlugin_SequenceFinished);
            mPlugin = overlayPlugin.Core.GetPlugin <FlythroughPlugin>();
        }
 public BlankState(OverlayPlugin plugin, XmlNode node)
     : base(GetName(node, "Blank State"), plugin, node, true)
 {
     mDefaultBG = GetColour(node, "blank state bg colour", Color.Transparent);
     if (mDefaultBG != Color.Transparent)
         mUseDefaultBG = true;
     else if (GetBool(node, false, "BlackBG")) {
         mDefaultBG = Color.Black;
         mUseDefaultBG = true;
     }
     mOpacity = GetDouble(node, 1.0, "Opacity");
 }
        public ActiveAreaTrigger(OverlayPlugin manager, XmlNode node)
            : base(manager.Core, GetName(node, "ActiveAreaTrigger"))
        {
            mManager    = manager;
            mCheckWaitS = GetDouble(node, 2, "CheckWaitS");
            foreach (var child in GetChildrenOfChild(node, "Points"))
            {
                float x = GetFloat(child, -1f, "X");
                float y = GetFloat(child, -1f, "Y");
                if (x > 0f && y > 0f)
                {
                    mPoints.Add(new Vector2(x, y));
                }
            }

            string t = GetString(node, null, "Type");

            if (t != null)
            {
                Event type = mType;
                if (Enum.TryParse <Event>(t, out type))
                {
                    mType = type;
                }
            }

            double defD = -1000.0;
            float  defF = -1000f;

            XmlNode yawNode   = node.SelectSingleNode("child::Yaw");
            XmlNode pitchNode = node.SelectSingleNode("child::Pitch");
            XmlNode zNode     = node.SelectSingleNode("child::Height");

            if (yawNode != null)
            {
                mYawStart  = GetDouble(yawNode, defD, "Min");
                mYawFinish = GetDouble(yawNode, defD, "Max");
                mUseYaw    = mYawStart != defD && mYawFinish != defD;
            }
            if (pitchNode != null)
            {
                mPitchStart  = GetDouble(pitchNode, defD, "Min");
                mPitchFinish = GetDouble(pitchNode, defD, "Max");
                mUsePitch    = mPitchStart != defD && mPitchFinish != defD;
            }
            if (zNode != null)
            {
                mUseZ    = mZStart != defF && mZFinish != defF;
                mZStart  = GetFloat(zNode, defF, "Bottom");
                mZFinish = GetFloat(zNode, defF, "Top");
            }
        }
Beispiel #32
0
        public ITransitionStyle Create(OverlayPlugin manager, XmlNode node)
        {
            Logger.Info("Creating Bitmap Window Transition");
            double length = GetDouble(node, 5000.0, "Length");
            IFeatureTransitionFactory transition = manager.GetImageTransitionFactory(node, "transition style", "Style");

            if (transition == null)
            {
                Logger.Debug("Unable to look up custom transition for transition style. Using default, fade.");
                transition = new FeatureFadeFactory();
            }
            return(new FeatureFrameTransitionFactory(transition, length));
        }
Beispiel #33
0
        protected ControlFeature(OverlayPlugin manager, XmlNode node, bool singletonControl)
        {
            mPlugin           = manager;
            mManager          = GetManager(manager, node, "control feature");
            mFrame            = mManager.Frame.Name;
            mSingletonControl = singletonControl;

            float x = GetFloat(node, 0f, "X");
            float y = GetFloat(node, 0f, "Y");
            float w = GetFloat(node, 1f, "W", "Width");
            float h = GetFloat(node, 1f, "H", "Height");

            mBounds = new RectangleF(x, y, w, h);
        }
        public OverlayPluginPanel(OverlayPlugin overlayPlugin)
            : this()
        {
            mOverlayPlugin = overlayPlugin;

            if (overlayPlugin.CurrentState != null)
                stateList.SelectedItem = overlayPlugin.CurrentState;

            mOverlayPlugin.StateChanged += new Action<State>(mOverlayPlugin_StateChanged);

            foreach (var state in mOverlayPlugin.States)
                stateList.Items.Add(state);

            stateSelector.Init(overlayPlugin.States);
            triggerSelector.Init(overlayPlugin.Triggers);
            imageTransitionSelector.Init(overlayPlugin.ImageTransitions);
            transitionStyleSelector.Init(overlayPlugin.Transitions);
            featureSelector.Init(overlayPlugin.Features);
            selectionRendererSelector.Init(overlayPlugin.Renderers);

            foreach (var factory in overlayPlugin.GetFactories<State>())
                stateFactoriesList.Items.Add(factory);
            foreach (var factory in overlayPlugin.GetFactories<ITrigger>())
                triggerFactoriesList.Items.Add(factory);
            foreach (var factory in overlayPlugin.GetFactories<IFeatureTransition>())
                imageTransitionFactoriesList.Items.Add(factory);
            foreach (var factory in overlayPlugin.GetFactories<ITransitionStyle>())
                transitionStyleFactoriesList.Items.Add(factory);
            foreach (var factory in overlayPlugin.GetFactories<IFeature>())
                featuresFactoryList.Items.Add(factory);
            foreach (var factory in overlayPlugin.GetFactories<ISelectionRenderer>())
                selectionRendererFactoriesList.Items.Add(factory);

            /*
            #if DEBUG
            foreach (var frameManager in mOverlayPlugin.OverlayManagers) {
                StatisticsPanel p = new StatisticsPanel(frameManager.Statistics, mOverlayPlugin.Core);
                p.Dock = DockStyle.Fill;
                mStatsPanels.Add(frameManager.Name, p);

                TabPage page = new TabPage();
                page.Text = frameManager.Name;
                page.Name = frameManager.Name;
                page.Controls.Add(p);

                statsTabs.Controls.Add(page);
            }
            #endif
            */
        }
        public OpacityFadeFeature(OverlayPlugin manager, XmlNode node)
        {
            mManager = GetManager(manager, node, "Opacity Fade");

            if (node.Attributes["FadeIn"] != null) {
                mStart = GetBool(node, true, "FadeIn") ? 0.0 : 1.0;
                mFinish = GetBool(node, true, "FadeIn") ? 1.0 : 0.0;
            }

            mStart = GetDouble(node, mStart, "Start");
            mFinish = GetDouble(node, mFinish, "Finish");
            mWait = GetDouble(node, 0.0, "Wait");
            mLength = GetDouble(node, mLength, "Length");
        }
Beispiel #36
0
 public OverlayImage(OverlayPlugin manager, XmlNode node, Rectangle clip, string reason)
     : this(manager, node, reason)
 {
     mBounds.X = mBounds.X / clip.Width;
     mBounds.Y = mBounds.Y / clip.Height;
     if (mBounds.Width > 0f)
     {
         mBounds.Width = mBounds.Width / clip.Width;
     }
     if (mBounds.Height > 0f)
     {
         mBounds.Height = mBounds.Height / clip.Height;
     }
 }
Beispiel #37
0
        public Text(OverlayPlugin manager, XmlNode node)
        {
            mText = node != null ? node.InnerText : "";
            mWindow = GetManager(manager, node, "text").Frame.Name;
            mFont = GetFont(node, "text");
            mColour = GetColour(node, "text", DEFAULT_FONT_COLOUR);
            mPosition = GetBounds(node, "text");

            if (node != null && node.Attributes["Alignment"] != null) {
                ContentAlignment alignment = ContentAlignment.TopLeft;
                if (Enum.TryParse<ContentAlignment>(node.Attributes["Alignment"].Value, out alignment))
                    mAlignment = alignment;
            }
        }
Beispiel #38
0
        public void StartDemo()
        {
            Log.Debug(@"Please type the process name of the window you want to attach to, e.g 'notepad.");
            Log.Debug("Note: If there is more than one process found, the first will be used.");

            var processName = Console.ReadLine();

            var process = System.Diagnostics.Process.GetProcessesByName(processName).FirstOrDefault();

            if (process == null)
            {
                Log.Warn($"No process by the name of {processName} was found.");
                Log.Warn("Please open one or use a different name and restart the demo.");
                Console.ReadLine();
                return;
            }

            _directXoverlayPluginExample = new DirectxOverlayPluginExample();
            _processSharp = new ProcessSharp(process, MemoryType.Remote);

            _directXoverlayPluginExample.Initialize(_processSharp.WindowFactory.MainWindow);

            _directXoverlayPluginExample.Enable();

            var d3DOverlay = (DirectxOverlayPluginExample)_directXoverlayPluginExample;

            // Log some info about the overlay.
            Log.Debug("Starting update loop (open the process you specified and drag around)");
            Log.Debug("Update rate: " + d3DOverlay.Settings.Current.UpdateRate.Milliseconds());

            var info = d3DOverlay.Settings.Current;

            Log.Debug($"Author: {info.Author}");
            Log.Debug($"Description: {info.Description}");
            Log.Debug($"Name: {info.Name}");
            Log.Debug($"Identifier: {info.Identifier}");
            Log.Debug($"Version: {info.Version}");

            Log.Info("Note: Settings are saved to a settings folder in your main app folder.");

            Log.Info("Give your window focus to enable the overlay (and unfocus to disable..)");

            Log.Info("Close the console to end the demo.");

            while (true)
            {
                _directXoverlayPluginExample.Update();
            }
        }
        public OpacityFadeFeature(OverlayPlugin manager, XmlNode node)
        {
            mManager = GetManager(manager, node, "Opacity Fade");

            if (node.Attributes["FadeIn"] != null)
            {
                mStart  = GetBool(node, true, "FadeIn") ? 0.0 : 1.0;
                mFinish = GetBool(node, true, "FadeIn") ? 1.0 : 0.0;
            }

            mStart  = GetDouble(node, mStart, "Start");
            mFinish = GetDouble(node, mFinish, "Finish");
            mWait   = GetDouble(node, 0.0, "Wait");
            mLength = GetDouble(node, mLength, "Length");
        }
 public MultiTrigger(OverlayPlugin plugin, XmlNode node)
     : base(node)
 {
     mTriggerListener = new Action<ITrigger>(TriggerListener);
     mCore = plugin.Core;
     List<ITrigger> triggers = new List<ITrigger>();
     mTriggerStates = new Dictionary<string, bool>();
     foreach (XmlNode trigger in GetChildrenOfChild(node, "Triggers")) {
         ITrigger t = plugin.GetTrigger(trigger, "Multi trigger", null);
         if (t != null) {
             triggers.Add(t);
             Logger.InfoFormat("Adding trigger {0}", t.Name);
         }
     }
     mTriggers = triggers.ToArray();
     numTriggered = 0;
 }
 public TriggerTimeoutTrigger(OverlayPlugin plugin, XmlNode node)
     : base(node)
 {
     mTriggerListener = new Action<ITrigger>(TriggerListener);
     mCore = plugin.Core;
     List<ITrigger> triggers = new List<ITrigger>();
     foreach (XmlNode trigger in GetChildrenOfChild(node, "Triggers"))
     {
         ITrigger t = plugin.GetTrigger(trigger, "TriggerTimeout trigger", null);
         if (t != null)
         {
             triggers.Add(t);
         }
     }
     mTriggers = triggers.ToArray();
     mTickListener = new Action(mCore_Tick);
     mLengthMS = GetDouble(node, mLengthMS, "LengthMS");
 }
        public ActiveAreaFeature(OverlayPlugin plugin, XmlNode node)
        {
            mPlugin = plugin;
            XmlNode triggerNode = node.SelectSingleNode("child::Trigger");
            XmlNode featureNode = node.SelectSingleNode("child::Feature");
            if (triggerNode == null)
                throw new ArgumentException("Unable to load Active Area. No 'Trigger' attribute specified.");
            if (featureNode == null)
                throw new ArgumentException("Unable to load Active Area. No 'Feature' attribute specified.");

            mTrigger = new ActiveAreaTrigger(plugin, triggerNode);
            mFeature = mPlugin.GetFeature(featureNode, "conditional feature", null);

            if (mFeature == null)
                throw new ArgumentException("Unable to load Active Area. Unable to parse feature.");

            mTrigger.Triggered += new Action(mActiveTrigger_Triggered);
        }
        public ActiveAreaTrigger(OverlayPlugin manager, XmlNode node)
            : base(manager.Core, GetName(node, "ActiveAreaTrigger"))
        {
            mManager = manager;
                mCheckWaitS = GetDouble(node, 2, "CheckWaitS");
                foreach (var child in GetChildrenOfChild(node, "Points")) {
                    float x = GetFloat(child, -1f, "X");
                    float y = GetFloat(child, -1f, "Y");
                    if (x > 0f && y > 0f)
                        mPoints.Add(new Vector2(x, y));
                }

                string t = GetString(node, null, "Type");
                if (t != null) {
                    Event type = mType;
                    if (Enum.TryParse<Event>(t, out type))
                        mType = type;
                }

                double defD = -1000.0;
                float defF = -1000f;

                XmlNode yawNode = node.SelectSingleNode("child::Yaw");
                XmlNode pitchNode = node.SelectSingleNode("child::Pitch");
                XmlNode zNode = node.SelectSingleNode("child::Height");

                if (yawNode != null) {
                    mYawStart = GetDouble(yawNode, defD, "Min");
                    mYawFinish = GetDouble(yawNode, defD, "Max");
                    mUseYaw = mYawStart != defD && mYawFinish != defD;
                }
                if (pitchNode != null) {
                    mPitchStart = GetDouble(pitchNode, defD, "Min");
                    mPitchFinish = GetDouble(pitchNode, defD, "Max");
                    mUsePitch = mPitchStart != defD && mPitchFinish != defD;
                }
                if (zNode != null) {
                    mUseZ = mZStart != defF && mZFinish != defF;
                    mZStart = GetFloat(zNode, defF, "Bottom");
                    mZFinish = GetFloat(zNode, defF, "Top");
                }
        }
 public ITrigger Create(OverlayPlugin manager, XmlNode node, Rectangle clip)
 {
     return new ClickTrigger(manager, node, clip);
 }
 public ClickTrigger(OverlayPlugin manager, XmlNode node, Rectangle clip)
     : base(manager, node, clip)
 {
     Manager.OnRelease += new Action(mManager_OnRelease);
 }
 public TextHoverTrigger(OverlayPlugin manager, XmlNode node, Rectangle clip)
     : base(manager, node, clip)
 {
     mText = new StaticText(manager, node, clip);
     Clip = clip;
 }
 public ITrigger Create(OverlayPlugin manager, XmlNode node)
 {
     return new ClickTrigger(manager, node);
 }
 public ITrigger Create(OverlayPlugin manager, XmlNode node, System.Drawing.Rectangle clip)
 {
     return Create(manager, node);
 }
 public ITrigger Create(OverlayPlugin manager, XmlNode node)
 {
     return new TriggerTimeoutTrigger(manager, node);
 }
 public IFeature Create(OverlayPlugin manager, XmlNode node, Rectangle clip)
 {
     return Create(manager, node);
 }
 private void LoadTriggers(OverlayPlugin manager, XmlNode node, bool next)
 {
     foreach (XmlNode child in GetChildrenOfChild(node, (next ? "Next" : "Prev") + "Triggers"))
         AddTrigger(next, manager.GetTrigger(child, "slideshow state " + (next ? "next" : "prev"), null));
 }
 public IFeature Create(OverlayPlugin manager, XmlNode node)
 {
     return new OpacityFadeFeature(manager, node);
 }
 public State Create(OverlayPlugin manager, XmlNode node)
 {
     return new SlideshowState(manager, node);
 }
 public HoverTrigger(OverlayPlugin manager, XmlNode node, Rectangle clip)
     : base(manager, node, clip)
 {
     mRenderer = manager.GetRenderer(node, "hover trigger", manager.Renderers[0], "Renderer");
 }
Beispiel #55
0
 public ExploreState(string name, OverlayPlugin manager)
     : base(name, manager)
 {
 }
 public ISelectionRenderer Create(OverlayPlugin manager, System.Xml.XmlNode node, Rectangle clip)
 {
     return Create(manager, node);
 }
 public ISelectionRenderer Create(OverlayPlugin manager, XmlNode node)
 {
     return new DialRenderer(manager, node);
 }
Beispiel #58
0
 public State Create(OverlayPlugin manager, System.Xml.XmlNode node)
 {
     return new ExploreState(manager, node);
 }
 public DialRenderer(OverlayPlugin manager, XmlNode node)
 {
     mFill = GetBool(node, true, "Fill");
     mSelectionColour = GetColour(node, "dial renderer", Color.Red);
     mR = GetInt(node, 40, "Radius");
 }
Beispiel #60
0
 public State Create(OverlayPlugin manager, System.Xml.XmlNode node, System.Drawing.Rectangle clip)
 {
     return Create(manager, node);
 }