public DamageCircle AddCircle(Hero heroOwner, Mob mobOwner, TimeSpan lifeSpan, bool destroyOnHit, MapRoom room) { DamageCircle c = new DamageCircle(heroOwner, mobOwner, destroyOnHit, NextId++, room); Circles.Add(c); //remove event Globals.EventManager.AddEvent(delegate() { c.Destroy(); return(0); }, $"removecircle{NextId - 1}", false, lifeSpan, TimeSpan.Zero, TimeSpan.Zero); return(c); }
public DamageCircle AddCircle(Hero heroOwner, Mob mobOwner, TimeSpan lifeSpan, bool destroyOnHit, MapRoom room) { DamageCircle c = new DamageCircle(heroOwner, mobOwner, destroyOnHit, NextId++, room); Circles.Add(c); //remove event Globals.EventManager.AddEvent(delegate () { c.Destroy(); return 0; }, $"removecircle{NextId - 1}", false, lifeSpan, TimeSpan.Zero, TimeSpan.Zero); return c; }
/// <summary> /// collision simulation because clienthero is not a shape to collide against /// </summary> /// <param name="c"></param> /// <param name="h"></param> /// <returns></returns> public bool Collide(DamageCircle c, ClientHero h) { return Vector3.DistanceSquared(c.Position, h.Position) < (c.Radius + HeroRadius) * (c.Radius + HeroRadius); }
/// <summary> /// collision simulation because clienthero is not a shape to collide against /// </summary> /// <param name="c"></param> /// <param name="h"></param> /// <returns></returns> public bool Collide(DamageCircle c, ClientHero h) { return(Vector3.DistanceSquared(c.Position, h.Position) < (c.Radius + HeroRadius) * (c.Radius + HeroRadius)); }