internal void ChangeTarget(TargetInfo targetInfo) { TargetChanged?.Invoke(this, new TargetChangedArgs() { TargetInfo = targetInfo }); }
internal void ChangeTarget(Target target) { TargetChanged?.Invoke(this, new TargetChangedArgs { Target = target }); }
internal void ChangeTarget(Target target) { var args = new TargetChangedArgs { Target = target }; TargetChanged?.Invoke(this, args); target.BrowserContext.OnTargetChanged(this, args); }
private void OnTargetInfoChanged(TargetTargetInfoChangedFirefoxEvent payload) { string targetId = payload.TargetId; TargetsMap[targetId].Url = payload.Url; var target = TargetsMap[targetId]; TargetChanged?.Invoke(this, new TargetChangedArgs { Target = target }); }
/// <summary> /// Checks if the target is changed and invokes <see cref="TargetChanged"/>. /// </summary> private void CheckTargetChanged() { //Still the same. if (_target == _targetCache) { return; } //Update cache, invoke event. _targetCache = Target; TargetChanged?.Invoke(_target); }
public override void Evaluate() { var obstacles = Options.Source.GetObstacles(); var candidates = Options.TargetsEval(); var target = candidates .Where(z => { var sb = Options.SourceBounds; var angle = sb.Center().CalculateAngleTo(z.Center()); var delta = Options.Source.Angle.DiffAngle(angle); if (delta >= AngularVisibility) { return(false); } var prediction = HitDetection.PredictHit(new HitDetectionOptions() { Angle = angle, MovingObject = sb, Obstacles = obstacles.Where(o => o is WeaponElement == false), Visibility = 3 * SpaceTime.CurrentSpaceTime.Bounds.Hypotenous(), Precision = .5f, }); var elementHit = prediction.ObstacleHit as SpacialElement; if (elementHit == z) { return(true); } else if (elementHit != null && z is IHaveMassBounds && (z as IHaveMassBounds).IsPartOfMass(elementHit)) { return(true); } else { return(false); } }) .OrderBy(z => Geometry.CalculateNormalizedDistanceTo(Options.Source.Element, z)) .FirstOrDefault(); if (target != lastTarget) { TargetChanged.Fire(target); lastTarget = target; } }
private void TargetInfoChanged(TargetTargetInfoChangedChromiumEvent e) { if (!TargetsMap.TryGetValue(e.TargetInfo.TargetId, out var target)) { throw new PlaywrightSharpException("Target should exists before ChangeTargetInfo"); } string previousUrl = target.Url; bool wasInitialized = target.IsInitialized; target.TargetInfoChanged(e.TargetInfo); if (wasInitialized && previousUrl != target.Url) { TargetChanged?.Invoke(this, new TargetChangedArgs { Target = target }); } }
internal void OnTargetChanged(Browser browser, TargetChangedArgs args) => TargetChanged?.Invoke(browser, args);
private void OnTargetChanged(TargetChanged e) { Text.text = e.Target != null ? e.Target.Tooltip : string.Empty; }
protected virtual void OnTargetChanged() { TargetChanged.Invoke(this, EventArgs.Empty); }
public void ApplyNewTarget(Vector3 targetPosition, Enemy targetEnemy = null) { TargetChanged?.Invoke(targetPosition, targetEnemy); }
private void Evaluate() { var obstacles = Options.Source.GetObstacles().Where(o => o is SpacialElement && o is WeaponElement == false).ToArray(); SpacialElement target = null; float winningCandidateProximity = float.MaxValue; targets.Clear(); foreach (var element in SpaceTime.CurrentSpaceTime.Elements) { if (element.ZIndex != Options.Source.Element.ZIndex) { continue; } if (element.HasSimpleTag(Options.TargetTag) == false) { continue; } if (element is Character && (element as Character).IsVisible == false) { continue; } var sb = Options.SourceBounds; var angle = sb.Center().CalculateAngleTo(element.Center()); var delta = Options.Source.Angle.DiffAngle(angle); if (delta >= Options.AngularVisibility) { continue; } var prediction = HitDetection.PredictHit(new HitDetectionOptions() { Angle = angle, MovingObject = sb, Obstacles = obstacles, Visibility = 3 * SpaceTime.CurrentSpaceTime.Bounds.Hypotenous(), Mode = CastingMode.Rough, }); var elementHit = prediction.ObstacleHit as SpacialElement; if (elementHit == element) { targets.Add(elementHit); var d = Geometry.CalculateNormalizedDistanceTo(Options.Source.Element, element); if (d < winningCandidateProximity) { target = elementHit; winningCandidateProximity = d; } } else if (elementHit != null && element is IHaveMassBounds && (element as IHaveMassBounds).IsPartOfMass(elementHit)) { targets.Add(elementHit); var d = Geometry.CalculateNormalizedDistanceTo(Options.Source.Element, element); if (d < winningCandidateProximity) { target = elementHit; winningCandidateProximity = d; } } } if (Options.Source.Element is Character && (Options.Source.Element as Character).IsVisible == false) { target = null; } if (target != lastTarget) { TargetChanged.Fire(target); lastTarget = target; } }
private void OnTargetChanged() { TargetChanged?.Invoke(this, new RenderTargetEventArgs(target)); }