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); }
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); }
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; }
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; } } } } }
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); }
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)); } }
/// <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); }
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); }
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."); }
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)); }
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; }
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); }
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); }
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."); } }
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; }
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; }
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")); }
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")); }
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; } }
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"); }
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"); } }
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)); }
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"); }
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; } }
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; } }
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"); }
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); }
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"); }
public State Create(OverlayPlugin manager, System.Xml.XmlNode node, System.Drawing.Rectangle clip) { return Create(manager, node); }