public static void Add(Entity entity) { if (!isUpdating) AddEntity(entity); else addedEntities.Add(entity); }
private static void AddEntity(Entity entity) { entities.Add(entity); if (entity is Bullet) bullets.Add(entity as Bullet); else if (entity is Enemy) enemies.Add(entity as Enemy); else if (entity is BlackHole) blackHoles.Add(entity as BlackHole); }
private static bool IsColliding(Entity a, Entity b) { float radius = a.Radius + b.Radius; return !a.IsExpired && !b.IsExpired && Vector2.DistanceSquared(a.Position, b.Position) < radius * radius; }