示例#1
0
        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);
        }
示例#2
0
 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;
 }
示例#3
0
 /// <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);
 }
示例#4
0
 /// <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));
 }