sledgemapper/Sledgemapper.Shared/Entities/Tile.cs
2021-01-09 00:38:19 +00:00

60 lines
1.4 KiB
C#

using System;
namespace Sledgemapper.Shared.Entities
{
public abstract class BaseMapEntity
{
public BaseMapEntity()
{
Timestamp = DateTime.UtcNow.Ticks;
}
public int X { get; set; }
public int Y { get; set; }
public string ID { get; set; }
public int Rotation { get; set; }
public override string ToString()
{
return $"{X}_{Y}";
}
public double Timestamp { get; set; }
}
public class Tile : BaseMapEntity
{
}
public class Line : BaseMapEntity
{
public SnapPoint Start { get; set; }
public SnapPoint End { get; set; }
public float Width { get; set; }
public override string ToString()
{
return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}";
}
}
public class Room : BaseMapEntity
{
public SnapPoint Start { get; set; }
public SnapPoint End { get; set; }
public bool Delete { 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; }
public override string ToString()
{
return $"{X}_{Y}_{Index}";
}
}
}