rooms
This commit is contained in:
parent
901d8ff8c3
commit
ee42010866
3 changed files with 337 additions and 52 deletions
|
@ -28,6 +28,7 @@ namespace Sledgemapper.Shared.Entities
|
|||
Walls = new ConcurrentDictionary<string, Wall>();
|
||||
Notes = new ConcurrentDictionary<string, Note>();
|
||||
Lines=new ConcurrentDictionary<string, Line>();
|
||||
Rooms=new ConcurrentDictionary<string, Room>();
|
||||
Players = new List<Player>();
|
||||
Colors = new List<string>();
|
||||
}
|
||||
|
@ -42,6 +43,7 @@ namespace Sledgemapper.Shared.Entities
|
|||
public string SessionName { get; set; }
|
||||
public int SessionId { get; set; }
|
||||
public ConcurrentDictionary<string, Line> Lines { get; private set; }
|
||||
public ConcurrentDictionary<string, Room> Rooms { get; private set; }
|
||||
|
||||
public void NewTile(Tile selectedTile, string tileId)
|
||||
{
|
||||
|
@ -201,5 +203,25 @@ namespace Sledgemapper.Shared.Entities
|
|||
//TODO fix this
|
||||
//OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile));
|
||||
}
|
||||
|
||||
public void NewRoom(Room line)
|
||||
{
|
||||
if (line is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var lineExist = Rooms.TryGetValue(line.ToString(), out var tile);
|
||||
var newLine = new Room { Start=line.Start, End=line.End};
|
||||
if (lineExist)
|
||||
{
|
||||
Rooms.TryRemove(line.ToString(), out var _);
|
||||
}
|
||||
|
||||
Rooms.TryAdd(newLine.ToString(), newLine);
|
||||
|
||||
//TODO fix this
|
||||
//OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,17 @@
|
|||
}
|
||||
}
|
||||
|
||||
public class Room : BaseMapEntity
|
||||
{
|
||||
public SnapPoint Start { get; set; }
|
||||
public SnapPoint End { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}";
|
||||
}
|
||||
}
|
||||
|
||||
public class SnapPoint : BaseMapEntity
|
||||
{
|
||||
public int Index { get; set; }
|
||||
|
|
|
@ -272,7 +272,7 @@ namespace Sledgemapper
|
|||
_state.SelectOverlay(screenPosition);
|
||||
}
|
||||
|
||||
if (_state.InsertMode == InsertMode.NewLine)
|
||||
if (_state.InsertMode == InsertMode.NewLine || _state.InsertMode == InsertMode.NewRoom)
|
||||
{
|
||||
_state.SelectClosestSnapPoint(screenPosition);
|
||||
}
|
||||
|
@ -387,6 +387,29 @@ namespace Sledgemapper
|
|||
|
||||
}
|
||||
|
||||
if (_state.InsertMode == InsertMode.NewRoom && newState.IsKeyDown(Keys.LeftControl)
|
||||
&& mouseState.LeftButton == ButtonState.Released
|
||||
&& mouseState.LeftButton != oldMouseState.LeftButton)
|
||||
{
|
||||
if (_state.LineStart is null)
|
||||
{
|
||||
_state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index };
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var line = new Room
|
||||
{
|
||||
Start = new SnapPoint { X = _state.LineStart.X, Y = _state.LineStart.Y, Index = _state.LineStart.Index },
|
||||
End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }
|
||||
};
|
||||
_state.LineStart = null;
|
||||
_state.LineWidth = 1;
|
||||
_sessionData.NewRoom(line);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (_state.InsertMode == InsertMode.NewLine && _state.LineStart != null)
|
||||
{
|
||||
if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue)
|
||||
|
@ -402,7 +425,7 @@ namespace Sledgemapper
|
|||
if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue)
|
||||
{
|
||||
// var center = new Point(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2);
|
||||
var maxTileSize=500;
|
||||
var maxTileSize = 500;
|
||||
var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state.TileSize / 2, Window.ClientBounds.Height / 2 - _state.TileSize / 2);
|
||||
|
||||
var tx = (center.X - (int)_viewportCenter.X) / _state.TileSize;
|
||||
|
@ -513,6 +536,7 @@ namespace Sledgemapper
|
|||
|
||||
DrawTiles();
|
||||
DrawLines();
|
||||
DrawRooms();
|
||||
DrawWalls();
|
||||
DrawOverlays();
|
||||
DrawNotes();
|
||||
|
@ -683,7 +707,102 @@ namespace Sledgemapper
|
|||
}
|
||||
}
|
||||
|
||||
if (_state.InsertMode == InsertMode.NewRoom && _state.SelectedSnapPoint != null)
|
||||
{
|
||||
var snapPoint = new Vector2(_state.SelectedSnapPoint.X * _state.TileSize, _state.SelectedSnapPoint.Y * _state.TileSize);
|
||||
|
||||
switch (_state.SelectedSnapPoint.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
snapPoint.X += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
snapPoint.Y += _state.TileSize / 2;
|
||||
break;
|
||||
case 4:
|
||||
snapPoint.Y += _state.TileSize / 2;
|
||||
snapPoint.X += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
_spriteBatch.DrawCircle(snapPoint, _state.TileSize / 5f, 100, Color.Red, 2);
|
||||
|
||||
|
||||
//line preview
|
||||
if (_state.LineStart != null)
|
||||
{
|
||||
|
||||
// border pass
|
||||
|
||||
// var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
||||
|
||||
var posX = _state.LineStart.X * _state.TileSize;
|
||||
var posY = _state.LineStart.Y * _state.TileSize;
|
||||
|
||||
var endposX = _state.SelectedSnapPoint.X * _state.TileSize;
|
||||
var endposY = _state.SelectedSnapPoint.Y * _state.TileSize;
|
||||
|
||||
switch (_state.LineStart.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
posX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
posY += _state.TileSize / 2;
|
||||
|
||||
break;
|
||||
case 4:
|
||||
posX += _state.TileSize / 2;
|
||||
posY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (_state.SelectedSnapPoint.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
endposX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
endposY += _state.TileSize / 2;
|
||||
|
||||
break;
|
||||
case 4:
|
||||
endposX += _state.TileSize / 2;
|
||||
endposY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (posX != endposX && posY != endposY)
|
||||
{
|
||||
var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
// whiteRectangle.SetData(new[] { new Color(Color.Red, 80) });
|
||||
whiteRectangle.SetData(new[] { new Color(Color.Red, 80) });
|
||||
if ((posX > endposX && posY > endposY) || (posX < endposX && posY < endposY))
|
||||
{
|
||||
_spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (endposY < posY)
|
||||
{
|
||||
_spriteBatch.Draw(whiteRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1);
|
||||
}
|
||||
|
||||
if (endposX < posX)
|
||||
{
|
||||
_spriteBatch.Draw(whiteRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_spriteBatch.End();
|
||||
|
||||
|
@ -925,6 +1044,8 @@ namespace Sledgemapper
|
|||
|
||||
}
|
||||
|
||||
private int _borderWidth => (_state.TileSize / 6) % 2 == 0 ? (_state.TileSize / 6) : (_state.TileSize / 6) + 1;
|
||||
|
||||
private void DrawTiles()
|
||||
{
|
||||
// foreach (var tile in _sessionData.Map.Values)
|
||||
|
@ -949,8 +1070,8 @@ namespace Sledgemapper
|
|||
var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
whiteRectangle.SetData(new[] { _settings.OverlayTintColor });
|
||||
|
||||
_spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - 4, (int)posY - 4, _state.TileSize + 8, _state.TileSize + 8), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
// _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1);
|
||||
_spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - _borderWidth / 2, (int)posY - _borderWidth / 2, _state.TileSize + _borderWidth, _state.TileSize + _borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
// _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+_borderWidth, _state.TileSize+_borderWidth), _settings.OverlayTintColor,1);
|
||||
|
||||
// _spriteBatch.Draw(content, new Vector2(posX, posY),
|
||||
// null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0);
|
||||
|
@ -1030,28 +1151,17 @@ namespace Sledgemapper
|
|||
break;
|
||||
}
|
||||
|
||||
var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2));
|
||||
if (l > 0)
|
||||
var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2));
|
||||
var height = (int)(_state.TileSize * tile.Width) + _borderWidth;
|
||||
if (length > 0)
|
||||
{
|
||||
var borderRectangle = new Texture2D(GraphicsDevice, (int)l, (int)(_state.TileSize * _state.LineWidth) + 8);
|
||||
// whiteRectangle.SetData(new[] { new Color(Color.Red, 80) });
|
||||
|
||||
borderRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize * _state.LineWidth) + 8)).Select(i => _settings.OverlayTintColor).ToArray());
|
||||
|
||||
|
||||
// _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1);
|
||||
|
||||
|
||||
|
||||
var borderRectangle = new Texture2D(GraphicsDevice, length, height);
|
||||
borderRectangle.SetData(Enumerable.Range(0, length * height).Select(i => _settings.OverlayTintColor).ToArray());
|
||||
var angle = Math.Atan2(posY - endposY, endposX - posX);
|
||||
var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle);
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width) + 8), null, Color.White, angleRad, new Vector2(0, 4), SpriteEffects.None, 1);
|
||||
var angleRad = -(float)angle;
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1);
|
||||
}
|
||||
// _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1);
|
||||
// _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1);
|
||||
|
||||
// _spriteBatch.Draw(content, new Vector2(posX, posY),
|
||||
// null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0);
|
||||
}
|
||||
|
||||
//inner pass
|
||||
|
@ -1099,43 +1209,185 @@ namespace Sledgemapper
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
// whiteRectangle.SetData(new[] { _settings.OverlayTintColor });
|
||||
|
||||
// _spriteBatch.DrawLine(posX, posY, endposX, endposY, Color.White, _state.TileSize);
|
||||
|
||||
// _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1);
|
||||
// _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1);
|
||||
|
||||
// _spriteBatch.Draw(content, new Vector2(posX, posY),
|
||||
// null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0);
|
||||
var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2));
|
||||
if (l > 0)
|
||||
var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2));
|
||||
var height = (int)(_state.TileSize * tile.Width);
|
||||
if (length > 0)
|
||||
{
|
||||
var innerRectangle = new Texture2D(GraphicsDevice, 1,1);
|
||||
innerRectangle.SetData(new[] { Color.White });
|
||||
|
||||
//innerRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize + _state.LineWidth))).Select(i => Color.White).ToArray());
|
||||
|
||||
|
||||
// _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1);
|
||||
|
||||
|
||||
|
||||
var innerRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
innerRectangle.SetData(new[] { Color.White });
|
||||
var angle = Math.Atan2(posY - endposY, endposX - posX);
|
||||
var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle);
|
||||
_spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1);
|
||||
var angleRad = -(float)angle;
|
||||
_spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawRooms()
|
||||
{
|
||||
// var borderRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
// borderRectangle.SetData(new[] { _settings.OverlayTintColor });
|
||||
|
||||
// var innerRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
// innerRectangle.SetData(new[] { Color.White });
|
||||
|
||||
// border pass
|
||||
foreach (var tile in _sessionData.Rooms.Values)
|
||||
{
|
||||
// var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
||||
|
||||
var posX = tile.Start.X * _state.TileSize;
|
||||
var posY = tile.Start.Y * _state.TileSize;
|
||||
|
||||
var endposX = tile.End.X * _state.TileSize;
|
||||
var endposY = tile.End.Y * _state.TileSize;
|
||||
|
||||
switch (tile.Start.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
posX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
posY += _state.TileSize / 2;
|
||||
|
||||
break;
|
||||
case 4:
|
||||
posX += _state.TileSize / 2;
|
||||
posY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
// var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2));
|
||||
switch (tile.End.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
endposX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
endposY += _state.TileSize / 2;
|
||||
|
||||
// var angle = Math.Atan2(posY - endposY, endposX - posX);
|
||||
// var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle);
|
||||
// _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, Vector2.Zero, SpriteEffects.None, 1);
|
||||
break;
|
||||
case 4:
|
||||
endposX += _state.TileSize / 2;
|
||||
endposY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
// posX-=_borderWidth/2;
|
||||
// posY-=_borderWidth/2;
|
||||
if (posX != endposX && posY != endposY)
|
||||
{
|
||||
|
||||
var borderRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
borderRectangle.SetData(new [] { _settings.OverlayTintColor });
|
||||
if ( (posX < endposX && posY < endposY))
|
||||
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, posY-_borderWidth/2, endposX - posX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
else if ((posX > endposX && posY > endposY) )
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX+_borderWidth/2, posY+_borderWidth/2, endposX - posX-_borderWidth, endposY - posY-_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (endposY < posY)
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, endposY-_borderWidth/2, endposX - posX+_borderWidth, posY - endposY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
|
||||
if (endposX < posX)
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(endposX-_borderWidth/2, posY-_borderWidth/2, posX - endposX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//inner pass
|
||||
foreach (var tile in _sessionData.Rooms.Values)
|
||||
{
|
||||
// var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
||||
|
||||
var posX = tile.Start.X * _state.TileSize;
|
||||
var posY = tile.Start.Y * _state.TileSize;
|
||||
|
||||
var endposX = tile.End.X * _state.TileSize;
|
||||
var endposY = tile.End.Y * _state.TileSize;
|
||||
|
||||
switch (tile.Start.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
posX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
posY += _state.TileSize / 2;
|
||||
|
||||
break;
|
||||
case 4:
|
||||
posX += _state.TileSize / 2;
|
||||
posY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (tile.End.Index)
|
||||
{
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
endposX += _state.TileSize / 2;
|
||||
break;
|
||||
case 3:
|
||||
endposY += _state.TileSize / 2;
|
||||
|
||||
break;
|
||||
case 4:
|
||||
endposX += _state.TileSize / 2;
|
||||
endposY += _state.TileSize / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
if (posX != endposX && posY != endposY)
|
||||
{
|
||||
|
||||
var borderRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||
borderRectangle.SetData(new [] {Color.White });
|
||||
if ( (posX < endposX && posY < endposY))
|
||||
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
else if ((posX > endposX && posY > endposY) )
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (endposY < posY)
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX , posY - endposY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
|
||||
if (endposX < posX)
|
||||
{
|
||||
_spriteBatch.Draw(borderRectangle, new Rectangle(endposX , posY , posX - endposX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue