public static Explosion CreateNew(Layer layer, float x = 0, float y = 0) { Explosion instance = null; instance = new Explosion(mContentManagerName ?? FlatRedBall.Screens.ScreenManager.CurrentScreen.ContentManagerName, false); instance.AddToManagers(layer); instance.X = x; instance.Y = y; foreach (var list in ListsToAddTo) { if (SortAxis == FlatRedBall.Math.Axis.X && list is PositionedObjectList <Explosion> ) { var index = (list as PositionedObjectList <Explosion>).GetFirstAfter(x, Axis.X, 0, list.Count); list.Insert(index, instance); } else if (SortAxis == FlatRedBall.Math.Axis.Y && list is PositionedObjectList <Explosion> ) { var index = (list as PositionedObjectList <Explosion>).GetFirstAfter(y, Axis.Y, 0, list.Count); list.Insert(index, instance); } else { // Sort Z not supported list.Add(instance); } } if (EntitySpawned != null) { EntitySpawned(instance); } return(instance); }