예제 #1
0
        private void Drawing_OnDraw(EventArgs args)
        {
            RenderPositions.DrawPositions();

            foreach (var spell in SpellDetector.drawSpells.Values)
            {
                Vector2 spellPos = spell.currentSpellPosition;

                if (spell.heroID == myHero.NetworkId)
                {
                    if (spell.spellType == SpellType.Line)
                    {
                        if (spellPos.Distance(myHero) <= myHero.BoundingRadius + spell.radius &&
                            EvadeUtils.TickCount - spell.startTime > spell.info.spellDelay)
                        {
                            RenderPositions.Add(spellPos, 1000, (int)spell.radius, 10);
                            DelayAction.Add(1, () => SpellDetector.DeleteSpell(spell.spellID));
                        }
                        else
                        {
                            Render.Circle.DrawCircle(new Vector3(spellPos.X, spellPos.Y, myHero.Position.Z), (int)spell.radius, Color.White, 5);
                        }
                    }
                    else if (spell.spellType == SpellType.Circular)
                    {
                        if (myHero.ServerPosition.To2D().InSkillShot(spell, myHero.BoundingRadius))
                        {
                        }
                    }
                }
            }
        }
예제 #2
0
        private void OnSpellStartChange(object sender, OnValueChangeEventArgs e)
        {
            e.Process = false;

            spellStartPosition = myHero.ServerPosition;
            RenderPositions.Add(spellStartPosition.To2D(), 1000, 100, 20);
        }