public static RenderPanel Add(IDrawableSprite sprite) { if (_curRenderPanel != null){ _curRenderPanel._sprites.Add(sprite); } else{ throw new Exception("no render panel bound"); } return _curRenderPanel; }
public bool CanSeeSprite(Rect viewBounds, IDrawableSprite sprite) { if (sprite == null) { return(false); } Loc drawSize = sprite.GetDrawSize(); if (drawSize == new Loc(-1)) { return(true); } Rect spriteRect = new Rect(sprite.GetDrawLoc(Loc.Zero), drawSize); if (spriteRect.Size == Loc.Zero) { return(false); } return(Collision.Collides(spriteRect, viewBounds)); }
public void Remove(IDrawableSprite sprite) { _sprites.Remove(sprite); }
public int CompareSpriteCoords(IDrawableSprite sprite1, IDrawableSprite sprite2) { return(Math.Sign(sprite1.MapLoc.Y - sprite2.MapLoc.Y)); }
public void AddToDraw(List <IDrawableSprite> sprites, IDrawableSprite sprite) { MathUtils.AddToSortedList(sprites, sprite, CompareSpriteCoords); }