/// <summary> /// Calculates the selected area. /// </summary> protected virtual void CalculateSelectedArea() { _selectedTiles.Clear(); Vector2 worldMousePosition = MouseManager.GetWorldMousePosition(); Rectangle currentTilePosition = TilePosition(worldMousePosition); // Fills up a rectangle with tiles depending the position of the current tile (currentTilePosition) // In steps of 32, the pixel count // TODO: Don't hardcode pixelcount if (_startTilePosition.X <= currentTilePosition.X && _startTilePosition.Y <= currentTilePosition.Y) { for (int x = _startTilePosition.X; x <= currentTilePosition.X; x += 32) { for (int y = _startTilePosition.Y; y <= currentTilePosition.Y; y += 32) { AddSelectedTile(x, y); } } } else if (_startTilePosition.X <= currentTilePosition.X && _startTilePosition.Y >= currentTilePosition.Y) { for (int x = _startTilePosition.X; x <= currentTilePosition.X; x += 32) { for (int y = _startTilePosition.Y; y >= currentTilePosition.Y; y -= 32) { AddSelectedTile(x, y); } } } else if (_startTilePosition.X >= currentTilePosition.X && _startTilePosition.Y >= currentTilePosition.Y) { for (int x = _startTilePosition.X; x >= currentTilePosition.X; x -= 32) { for (int y = _startTilePosition.Y; y >= currentTilePosition.Y; y -= 32) { AddSelectedTile(x, y); } } } else if (_startTilePosition.X >= currentTilePosition.X && _startTilePosition.Y <= currentTilePosition.Y) { for (int x = _startTilePosition.X; x >= currentTilePosition.X; x -= 32) { for (int y = _startTilePosition.Y; y <= currentTilePosition.Y; y += 32) { AddSelectedTile(x, y); } } } }
protected override void CalculateSelectedArea() { _selectedTiles.Clear(); Vector2 worldMousePosition = MouseManager.GetWorldMousePosition(); Rectangle currentTilePosition = TilePosition(worldMousePosition); if (currentTilePosition.X > 160) { } // TODO: Fix this if (_startTilePosition.X <= currentTilePosition.X && _startTilePosition.Y <= currentTilePosition.Y) { for (int x = _startTilePosition.X; x <= currentTilePosition.X; x += 32) { AddSelectedTile(x, _startTilePosition.Y); } } else if (_startTilePosition.X <= currentTilePosition.X && _startTilePosition.Y >= currentTilePosition.Y) { for (int y = _startTilePosition.Y; y >= currentTilePosition.Y; y -= 32) { AddSelectedTile(_startTilePosition.X, y); } } else if (_startTilePosition.X >= currentTilePosition.X && _startTilePosition.Y >= currentTilePosition.Y) { for (int x = _startTilePosition.X; x >= currentTilePosition.X; x -= 32) { AddSelectedTile(x, _startTilePosition.Y); } } else if (_startTilePosition.X >= currentTilePosition.X && _startTilePosition.Y <= currentTilePosition.Y) { for (int y = _startTilePosition.Y; y <= currentTilePosition.Y; y += 32) { AddSelectedTile(_startTilePosition.X, y); } } }