public PanelGrid() : base() { selectedChild = null; Screen = ConfigManager.Screen; Init(); }
private void MainBotLoop() { var main = new MainRoutine(GameState); ScreenReader.DetectSide(GameState); main.Root.Start(GameState); while (true) { if (!MainWindow.IsPaused) { counterCallsPerSecond++; try { var tack = main.Root.Tick(GameState); if (tack != RunStatus.Running) { main.Root.Stop(GameState); main.Root.Start(GameState); } Thread.Sleep(50); } catch (Exception e) { } } else { Thread.Sleep(1000); } } }
public static void StartSearchingPractice(Hero hero) { MainWindow.Log("Starting practice game"); if (AreWeInMainMenu()) { MainWindow.Log("We are in main menu"); ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 403, 1053); Thread.Sleep(1000); } if (!AreWeInPlayMenu()) { throw new KeyNotFoundException(); } ChooseGameMode("practice"); Thread.Sleep(1000); ChooseCharacter(hero); Thread.Sleep(1000); ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 848, 944); Thread.Sleep(1000); while (true) { Thread.Sleep(1000); if (ScreenReader.FindOnScreen("./images/loading_searching.png", 0.9f, true) == null) { break; } } }
static void Main(string[] args) { if (Environment.OSVersion.Version.Major >= 6) { SetProcessDPIAware(); } var p = new ScreenReader(); var playing = false; while (ScreenReader.proc == null) { p.GetObsInstance(); } while (true) { if (!p.IsLoading()) { PlayVid(); playing = true; } else { if (playing) { ResetVid(); playing = false; } } Thread.Sleep(14); } }
protected override RunStatus Run(object context) { var gameState = (CurrentGameState)context; if (!ScreenReader.AreTalentsOpen()) { ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 95, 942); } Thread.Sleep(700); //ScreenReader.UpdateCurrentTalentLevel(gameState); MainWindow.Log("Leveling talents for level " + gameState.Me.CharacterLevel); foreach (var talent in gameState.Me.HeroData.Talents) { if (gameState.Me.CharacterLevel < talent.TalentLevel) { continue; } if (!talent.IsLeveled) { ControlInput.ChooseTalent(talent.TalentLevel, talent.TalentIndex); talent.IsLeveled = true; talent.HeroChanges(gameState.Me.HeroData); MainWindow.Log("Leveling " + talent.TalentName + "(" + talent.TalentLevel + ")"); Thread.Sleep(200); } } Thread.Sleep(400); if (ScreenReader.AreTalentsOpen()) { ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 95, 942); } return(RunStatus.Failure); }
public void InstallServices(IServiceProvider map) { _core = map.GetService(typeof(Core)) as Core; _hueCore = map.GetService(typeof(HueCore)) as HueCore; _screen = map.GetService(typeof(ScreenReader)) as ScreenReader; _config = map.GetService(typeof(Config)) as Config; _logger = map.GetService(typeof(FileLogger)) as FileLogger; }
public static bool AreWeInPlayMenu() { if (ScreenReader.FindOnScreen("./images/loading_playmenu.png", 0.90f, true, new Rectangle(150, 0, 200, 50)) != null) { return(true); } return(false); }
public static bool AreWeInMainMenu() { if (ScreenReader.FindOnScreen("./images/loading_mainmenu.png", 0.90f, true, new Rectangle(50, 200, 150, 100)) != null) { return(true); } return(false); }
public static void InitializeScreenReader(object sender, RoutedEventArgs args) { IProgress <string> progress = new Progress <string>(s => { Instange.Log.Text += (s + "\n"); Instange.Log.ScrollToEnd(); }); var screenReader = new ScreenReader() { Log = progress.Report }; screenReader.StartEventWatcher(); }
public static GameMode FindGameMode() { while (true) { MainWindow.Log("GAMEMODE LOOP" + DateTime.Now); Thread.Sleep(4000); foreach (var mode in GameModes.ModesList) { var match = ScreenReader.FindOnScreen(mode.LoadingMatchPath, 0.90f, true, new Rectangle(30, 20, 170, 40)); if (match != null) { MainWindow.Log("Match for " + mode.Name + " was " + match.Similarity); return(mode); } } MainWindow.Log("GAMEMODE LOOP" + DateTime.Now); } }
public OutputManager() { ScreenReader = new ScreenReader(); ScreenReader.SapiEnabled = settings.SapiIsScreenReaderFallback; var screenWidth = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width; Notifyer = new TaskbarNotifier() { ContentClickable = false, TitleClickable = false, EnableSelectionRectangle = false, NormalContentColor = Color.White, HoverContentColor = Color.White, NormalTitleColor = Color.White, HoverTitleColor = Color.White, BackColor = Color.DarkBlue, TitleRectangle = new Rectangle(20, 5, screenWidth / 4 - 40, 25), ContentRectangle = new Rectangle(8, 25, screenWidth / 4 - 16, 60), KeepVisibleOnMousOver = true, ChangeContentResetsTimer = true, ChangeTitleResetsTimer = true }; }
public void Cmd_DimExtend() { var acCurDoc = Application.DocumentManager.MdiActiveDocument; var acCurDb = acCurDoc.Database; var acCurEd = acCurDoc.Editor; var prEntOpt = new PromptEntityOptions("\nSelect a dimension system to extend: "); prEntOpt.SetRejectMessage("\nOnly linear dimensions may be selected."); prEntOpt.AllowNone = false; prEntOpt.AddAllowedClass(typeof(RotatedDimension), false); var prEntRes = acCurEd.GetEntity(prEntOpt); if (prEntRes.Status != PromptStatus.OK) { return; } var objId = prEntRes.ObjectId; var matrix3d = acCurEd.GetAlignedMatrix(); var eqPoint = CalcTol.ReturnCurrentTolerance(); using (var acTrans = acCurDb.TransactionManager.StartTransaction()) { var acEnt = acTrans.GetObject(objId, OpenMode.ForWrite) as Entity; if (acEnt != null) { acEnt.Unhighlight(); var acRotDim = acEnt as RotatedDimension; if (acRotDim != null) { var dimSys = DimSystem.GetSystem(acRotDim, eqPoint, eqPoint); dimSys.Highlight(); var promptPointOption2 = new PromptPointOptions( "\nSelect a dimension line to extend or press CTRL to start crossing line:"); while (true) { if (dimSys.Count == 0) { break; } dimSys.Highlight(); var nArray = DimSystem.GetActiveViewCount(); var ctManager = TransientManager.CurrentTransientManager; var acCirc = new Circle(); var acLine = new Line(new Point3d(0, 0, 0), new Point3d(0, 0, 0)); acCirc.Color = SettingsUser.DynPreviewColor; acCirc.Normal = acRotDim.Normal; acLine.Color = SettingsUser.DynPreviewColor; var intCol = new IntegerCollection(nArray); ctManager.AddTransient(acCirc, TransientDrawingMode.Highlight, 128, intCol); ctManager.AddTransient(acLine, TransientDrawingMode.Highlight, 128, intCol); var sysPts = dimSys.GetSystemPoints(eqPoint); void Handler(object sender, PointMonitorEventArgs e) { var cPt = dimSys.GetNearest(e.Context.ComputedPoint, eqPoint); var sysPt = sysPts[cPt]; var dlPt = sysPt.DimLinePoint; var scrSize = ScreenReader.GetSreenSize(); acCirc.Radius = scrSize / 200; var point3d = sysPt.Dim1PointIndex != 1 ? sysPt.Dim1.XLine2Point : sysPt.Dim1.XLine1Point; if (Math.Abs(point3d.DistanceTo(dlPt)) <= eqPoint) { acCirc.Center = dlPt; acLine.StartPoint = dlPt; acLine.EndPoint = dlPt; ctManager.UpdateTransient(acCirc, intCol); ctManager.UpdateTransient(acLine, intCol); return; } var point = new Line3d(dlPt, point3d).GetClosestPointTo(e.Context.ComputedPoint).Point; acLine.StartPoint = dlPt; acLine.EndPoint = point; acCirc.Center = point; ctManager.UpdateTransient(acCirc, intCol); ctManager.UpdateTransient(acLine, intCol); } acCurEd.PointMonitor += Handler; PromptPointResult ptRes; try { ptRes = acCurDoc.Editor.GetPoint(promptPointOption2); } finally { acCurEd.PointMonitor -= Handler; ctManager.EraseTransient(acCirc, intCol); ctManager.EraseTransient(acLine, intCol); acCirc.Dispose(); acLine.Dispose(); } var cntrlPressed = (Control.ModifierKeys & Keys.Control) > Keys.None; PromptPointResult ctrlRes = null; if (cntrlPressed) { var promptPointOption3 = new PromptPointOptions("\nSelect second point of crossing line:") { UseBasePoint = true, UseDashedLine = true, BasePoint = ptRes.Value }; ctrlRes = acCurDoc.Editor.GetPoint(promptPointOption3); if (ctrlRes.Status != PromptStatus.OK) { break; } } if (ptRes.Status != PromptStatus.OK) { break; } if (cntrlPressed) { var point3d6 = ptRes.Value.TransformBy(matrix3d); var point3d7 = ctrlRes.Value.TransformBy(matrix3d); var nums = dimSys.GetSystemByLine(point3d6, point3d7, eqPoint); if (nums.Count <= 0) { continue; } var sysPoints2 = dimSys.GetSystemPoints(eqPoint); foreach (var num3 in nums) { var point3d8 = DimSystem.GetCrossing(dimSys, sysPoints2, num3, point3d6, point3d7, eqPoint); if (point3d8.X != -99999 || point3d8.Y != -99999 || point3d8.Z != -99999) { dimSys.Extend(num3, 0, point3d8, eqPoint); } else { acCurEd.WriteMessage("\nCannot extend lines with zero length."); } } acTrans.TransactionManager.QueueForGraphicsFlush(); } else { var point3d9 = ptRes.Value.TransformBy(matrix3d); var num4 = dimSys.GetNearest(point3d9, eqPoint); var sysPoint = dimSys.GetSystemPoints(eqPoint)[num4]; var point3d10 = sysPoint.DimLinePoint; var point3d11 = sysPoint.Dim1PointIndex != 1 ? sysPoint.Dim1.XLine2Point : sysPoint.Dim1.XLine1Point; if (Math.Abs(point3d10.DistanceTo(point3d11)) >= eqPoint) { dimSys.Extend(num4, 0, point3d9, eqPoint); acTrans.TransactionManager.QueueForGraphicsFlush(); } else { acCurEd.WriteMessage("\nCannot extend lines with zero length."); } } } dimSys.Unhighlight(); acTrans.Commit(); } } } }
public void OutputMessageToScreenReader(string message, bool interrupt = false) { ScreenReader.SayString(message, interrupt); }
public void Cmd_DimDelete() { if (!LicensingAgent.Check()) { return; } var acCurDoc = Application.DocumentManager.MdiActiveDocument; var acCurDb = acCurDoc.Database; var acCurEd = acCurDoc.Editor; var prEntOpt = new PromptEntityOptions("\nSelect a dimension system to remove from: "); prEntOpt.SetRejectMessage("\nOnly linear dimensions may be selected."); prEntOpt.AllowNone = false; prEntOpt.AddAllowedClass(typeof(RotatedDimension), false); var prEntRes = acCurEd.GetEntity(prEntOpt); if (prEntRes.Status != PromptStatus.OK) { return; } var objId = prEntRes.ObjectId; var delMatrix = acCurEd.GetAlignedMatrix(); var eqPoint = CalcTol.ReturnCurrentTolerance(); using (var acTrans = acCurDb.TransactionManager.StartTransaction()) { var acEnt = acTrans.GetObject(objId, OpenMode.ForWrite) as Entity; if (acEnt != null) { acEnt.Unhighlight(); var acRotDim = acEnt as RotatedDimension; if (acRotDim != null) { var dimSys = DimSystem.GetSystem(acRotDim, eqPoint, eqPoint); var prPtOpts = new PromptPointOptions("\nSelect point to delete or press CTRL to start a crossing line: "); PromptPointResult ptRes; while (true) { if (dimSys.Count <= 0) { break; } dimSys.Highlight(); var nArray = DimSystem.GetActiveViewCount(); var ctManager = TransientManager.CurrentTransientManager; var acCirc = new Circle(); var acPreview = new Circle(); var acLine = new Line(new Point3d(0, 0, 0), new Point3d(0, 0, 0)); acCirc.Color = SettingsUser.DynPreviewColor; acPreview.Color = SettingsUser.DynPreviewColor; acLine.Color = SettingsUser.DynPreviewColor; var integerCollections = new IntegerCollection(nArray); ctManager.AddTransient(acCirc, TransientDrawingMode.Main, 128, integerCollections); ctManager.AddTransient(acPreview, TransientDrawingMode.Main, 128, integerCollections); ctManager.AddTransient(acLine, TransientDrawingMode.Highlight, 128, integerCollections); var dPoints = dimSys.GetSystemPoints(eqPoint); void PreviewHandler(object sender, PointMonitorEventArgs e) { var cdPoint = dimSys.GetNearest(e.Context.ComputedPoint, eqPoint); var cPt = dPoints[cdPoint]; var dlPoint = cPt.DimLinePoint; acCirc.Center = dlPoint; var scrSize = ScreenReader.GetSreenSize(); acCirc.Radius = scrSize / 200; acCirc.Normal = acRotDim.Normal; acPreview.Radius = scrSize / 200; acPreview.Normal = acRotDim.Normal; Point3d tempPt; Point3d tempPt1; Point3d tempPt2; if (cPt.IsLast) { tempPt = cPt.Dim1PointIndex != 1 ? cPt.Dim1.XLine2Point : cPt.Dim1.XLine1Point; tempPt2 = tempPt; } else { tempPt = cPt.Dim1PointIndex != 1 ? cPt.Dim1.XLine2Point : cPt.Dim1.XLine1Point; tempPt1 = cPt.Dim2PointIndex != 1 ? cPt.Dim2.XLine2Point : cPt.Dim2.XLine1Point; tempPt2 = dlPoint.DistanceTo(tempPt) <= dlPoint.DistanceTo(tempPt1) ? tempPt1 : tempPt; } acLine.StartPoint = dlPoint; acLine.EndPoint = tempPt2; acPreview.Center = tempPt2; ctManager.UpdateTransient(acCirc, integerCollections); ctManager.UpdateTransient(acPreview, integerCollections); ctManager.UpdateTransient(acLine, integerCollections); } acCurEd.PointMonitor += PreviewHandler; try { ptRes = acCurEd.GetPoint(prPtOpts); } finally { acCurEd.PointMonitor -= PreviewHandler; ctManager.EraseTransient(acCirc, integerCollections); ctManager.EraseTransient(acPreview, integerCollections); ctManager.EraseTransient(acLine, integerCollections); acCirc.Dispose(); acPreview.Dispose(); acLine.Dispose(); } #region CTRL Modifier var ctrlPressed = (Control.ModifierKeys & Keys.Control) > Keys.None; PromptPointResult promptPointResult = null; if (ctrlPressed) { var promptPointOption1 = new PromptPointOptions("\nSelect second point of crossing line:") { UseBasePoint = true, UseDashedLine = true, BasePoint = ptRes.Value }; promptPointResult = acCurEd.GetPoint(promptPointOption1); if (promptPointResult.Status != PromptStatus.OK) { dimSys.Unhighlight(); break; } } if (ptRes.Status != PromptStatus.OK) { dimSys.Unhighlight(); break; } #endregion if (ctrlPressed) { var delPt1 = ptRes.Value.TransformBy(delMatrix); var delPt2 = promptPointResult.Value.TransformBy(delMatrix); dimSys.Delete(delPt1, delPt2); } else { dimSys.Delete(ptRes.Value.TransformBy(delMatrix)); } } dimSys.Unhighlight(); } } acTrans.Commit(); } }
// Gestion del singleton, y se comprueba que tenga audiosource void Awake() { instance = this; }
public MainWindow() { //InitializeComponent(); ScreenReader.StartScreenReader(); }