private void Drawing_OnDraw(EventArgs args)
{
if (ConfigValue.DrawEvadePosition.GetBool())
{
//Render.Circle.DrawCircle(myHero.Position.ExtendDir(dir, 500), 65, Color.Red, 10);
/*foreach (var point in myHero.Path)
{
Render.Circle.DrawCircle(point, 65, Color.Red, 10);
}*/
if (AdEvade.LastPosInfo != null)
{
var pos = AdEvade.LastPosInfo.Position; //Evade.lastEvadeCommand.targetPosition;
Render.Circle.DrawCircle(new Vector3(pos.X, pos.Y, MyHero.Position.Z), 65, Color.Red, 10);
}
}
//DrawPlayerPath();
DrawEvadeStatus();
if (!ConfigValue.DrawSkillShots.GetBool())
{
return;
}
foreach (KeyValuePair<int, Spell> entry in SpellDetector.DrawSpells)
{
Spell spell = entry.Value;
var width = 0;
switch (spell.Dangerlevel)
{
case SpellDangerLevel.Low:
width = ConfigValue.LowDangerDrawWidth.GetInt();
break;
case SpellDangerLevel.Normal:
width = ConfigValue.NormalDangerDrawWidth.GetInt();
break;
case SpellDangerLevel.High:
width = ConfigValue.HighDangerDrawWidth.GetInt();
break;
case SpellDangerLevel.Extreme:
width = ConfigValue.ExtremeDangerDrawWidth.GetInt();
break;
}
if (Config.Properties.GetSpell(spell.Info.SpellName).Draw)
{
if (spell.SpellType == SpellType.Line)
{
Vector2 spellPos = spell.CurrentSpellPosition;
Vector2 spellEndPos = spell.GetSpellEndPosition();
DrawLineRectangle(spellPos, spellEndPos, (int) spell.Radius, width, GetSpellColor(spell.Dangerlevel));
/*foreach (var hero in ObjectManager.Get<AIHeroClient>())
{
Render.Circle.DrawCircle(new Vector3(hero.ServerPosition.X, hero.ServerPosition.Y, myHero.Position.Z), (int)spell.radius, Color.Red, 5);
}*/
if (ConfigValue.DrawSpellPosition.GetBool() && spell.SpellObject != null)
{
//spellPos = SpellDetector.GetCurrentSpellPosition(spell, true, ObjectCache.gamePing);
/*if (true)
{
var spellPos2 = spell.startPos + spell.direction * spell.info.projectileSpeed * (Evade.GetTickCount - spell.startTime - spell.info.spellDelay) / 1000 + spell.direction * spell.info.projectileSpeed * ((float)ObjectCache.gamePing / 1000);
Render.Circle.DrawCircle(new Vector3(spellPos2.X, spellPos2.Y, myHero.Position.Z), (int)spell.radius, Color.Red, 8);
}*/
/*if (spell.spellObject != null && spell.spellObject.IsValid && spell.spellObject.IsVisible &&
spell.spellObject.Position.To2D().Distance(ObjectCache.myHeroCache.serverPos2D) < spell.info.range + 1000)*/
Render.Circle.DrawCircle(new Vector3(spellPos.X, spellPos.Y, MyHero.Position.Z), (int) spell.Radius, GetSpellColor(spell.Dangerlevel), width);
}
}
else if (spell.SpellType == SpellType.Circular)
{
Render.Circle.DrawCircle(new Vector3(spell.EndPos.X, spell.EndPos.Y, spell.Height), (int) spell.Radius, GetSpellColor(spell.Dangerlevel), width);
if (spell.Info.SpellName == "VeigarEventHorizon")
{
Render.Circle.DrawCircle(new Vector3(spell.EndPos.X, spell.EndPos.Y, spell.Height), (int) spell.Radius - 125, GetSpellColor(spell.Dangerlevel), width);
}
}
else if (spell.SpellType == SpellType.Arc)
{
/*var spellRange = spell.startPos.Distance(spell.endPos);
var midPoint = spell.startPos + spell.direction * (spellRange / 2);
Render.Circle.DrawCircle(new Vector3(midPoint.X, midPoint.Y, myHero.Position.Z), (int)spell.radius, spellDrawingConfig.Color, spellDrawingWidth);
Drawing.DrawLine(Drawing.WorldToScreen(spell.startPos.To3D()),
Drawing.WorldToScreen(spell.endPos.To3D()),
spellDrawingWidth, spellDrawingConfig.Color);*/
}
else if (spell.SpellType == SpellType.Cone)
{
}
}
}
}