public void RemoveScreenLayer(IScreenLayer screenLayer) { // If you delete a screen layer during the HandleInput method or // outside of the main loop entirely, another update may take place // before the screen is actually deleted. _screenLayersToRemove.Add(screenLayer); }
public void AddScreenLayerBehind(IScreenLayer reference, IScreenLayer toAdd) { if (isEnumerating && queueIfEnumerating(() => AddScreenLayerBehind(reference, toAdd))) { return; } // Equivalent to adding screen layer _before_ reference. addScreenLayerAtIndex(screenLayers.IndexOf(reference), toAdd); }
public void AddScreenLayerOnTop(IScreenLayer screenLayer) { if (isEnumerating && queueIfEnumerating(() => AddScreenLayerOnTop(screenLayer))) { return; } screenLayers.Add(screenLayer); initializeScreenLayer(screenLayer); }
public void AddScreenLayerOnTopOf(IScreenLayer reference, IScreenLayer toAdd) { // Equivalent to adding screen layer _after_ reference. var indexOfRef = _screenLayers.IndexOf(reference); if (indexOfRef == _screenLayers.Count) { AddScreenLayerOnTop(toAdd); } else { addScreenLayerAtIndex(indexOfRef + 1, toAdd); } }
public MapSquare(IScreenLayer layer, Tile tile, int x, int y, int tilesize) { this.layer = layer; Tile = tile; X = x; Y = y; screenX = x * tilesize; screenY = y * tilesize; var commonBox = Tile.Sprite.BoundBox; blockBox = new Rectangle(commonBox.X, commonBox.Y, commonBox.Width, commonBox.Height); blockBox.Offset(-Tile.Sprite.HotSpot.X, -Tile.Sprite.HotSpot.Y); }
public MapSquare(IScreenLayer layer, Tile tile, int x, int y, int tilesize) { this.layer = layer; Tile = tile; X = x; Y = y; screenX = x * tilesize; screenY = y * tilesize; var commonBox = Tile.Sprite.BoundBox; blockBox = new RectangleF(commonBox.X, commonBox.Y, commonBox.Width, commonBox.Height); blockBox.Offset(-Tile.Sprite.HotSpot.X, -Tile.Sprite.HotSpot.Y); }
public void AddScreenLayerOnTopOf(IScreenLayer reference, IScreenLayer toAdd) { if (isEnumerating && queueIfEnumerating(() => AddScreenLayerOnTopOf(reference, toAdd))) { return; } // Equivalent to adding screen layer _after_ reference. var indexOfRef = screenLayers.IndexOf(reference); if (indexOfRef == screenLayers.Count) { AddScreenLayerOnTop(toAdd); } else { addScreenLayerAtIndex(indexOfRef + 1, toAdd); } }
private void initializeScreenLayer(IScreenLayer screenLayer) { screenLayer.OnResize(_viewportSize); }
public void AddScreenLayerBehind(IScreenLayer reference, IScreenLayer toAdd) { // Equivalent to adding screen layer _before_ reference. addScreenLayerAtIndex(_screenLayers.IndexOf(reference), toAdd); }
private void addScreenLayerAtIndex(int index, IScreenLayer screenLayer) { _screenLayers.Insert(index, screenLayer); initializeScreenLayer(screenLayer); }
public void AddScreenLayerOnTop(IScreenLayer screenLayer) { _screenLayers.Add(screenLayer); initializeScreenLayer(screenLayer); }