예제 #1
0
 public void AddBullet(cBullet b)
 {
     this.AddEntity(b);
 }
예제 #2
0
        private cMonster getclosestMonsterColliding(IEnumerable <cMonster> possibleColliders, cBullet bul, Vector2f pos_by, float time)
        {
            // int index = -1;
            double   prevDist = Double.MaxValue;
            double   newDist  = 0.0;
            cMonster returner = null;

            foreach (var mon in possibleColliders)
            {
                if (mon.IsKilled)
                {
                    continue;
                }

                // order by distance to find the closest
                if (cSatCollision.checkAndResolve(bul, mon, time, false))
                {
                    newDist = AppMath.Vec2DistanceSqrt(mon.Bounds.center, pos_by);

                    if (newDist < prevDist)
                    {
                        prevDist = newDist;
                        returner = mon;
                    }
                }
            }

            return(returner);
        }