public EvadePlus(SkillshotDetector detector) { Skillshots = new EvadeSkillshot[] {}; Polygons = new Geometry.Polygon[] {}; ClippedPolygons = new List<Geometry.Polygon>(); SkillshotDetector = detector; SkillshotDetector.OnUpdateSkillshots += OnUpdateSkillshots; SkillshotDetector.OnSkillshotActivation += OnSkillshotActivation; SkillshotDetector.OnSkillshotDetected += OnSkillshotDetected; SkillshotDetector.OnSkillshotDeleted += OnSkillshotDeleted; Player.OnIssueOrder += PlayerOnIssueOrder; Game.OnTick += Ontick; }
public void AddSkillshot(EvadeSkillshot skillshot, bool isProcessSpell = false, bool triggerEvent = true) { if (LimitDetectionRange && skillshot.GetPosition().Distance(Player.Instance, true) > (2*skillshot.SpellData.Range).Pow()) { return; } if (SkillshotActivationDelay <= 10) skillshot.IsActive = true; DetectedSkillshots.Add(skillshot); if (triggerEvent && EvadeMenu.IsSkillshotEnabled(skillshot)) { if (OnSkillshotDetected != null) OnSkillshotDetected(skillshot, isProcessSpell); if (OnUpdateSkillshots != null) OnUpdateSkillshots(skillshot, false, isProcessSpell); } }
private void OnUpdateSkillshots(EvadeSkillshot skillshot, bool remove, bool isProcessSpell) { CacheSkillshots(); }
private void OnSkillshotDetected(EvadeSkillshot skillshot, bool isProcessSpell) { }
private void OnSkillshotDeleted(EvadeSkillshot skillshot) { }
private void OnSkillshotActivation(EvadeSkillshot skillshot) { CacheSkillshots(); }