75 lines
1.7 KiB
C#
75 lines
1.7 KiB
C#
using RobotNet.MapShares.Dtos;
|
|
using RobotNet.MapShares.Enums;
|
|
|
|
namespace RobotNet.MapShares.Models;
|
|
|
|
public enum MapEditorBackupType
|
|
{
|
|
Node,
|
|
ControlPoint1Edge,
|
|
ControlPoint2Edge,
|
|
Zone,
|
|
MoveNode,
|
|
MoveEdge,
|
|
Copy,
|
|
MergeNode,
|
|
SplitNode
|
|
}
|
|
|
|
public class MapEditorBackup
|
|
{
|
|
public MapEditorBackupType Type { get; set; }
|
|
public Guid Id { get; set; }
|
|
public object Obj { get; set; } = null!;
|
|
}
|
|
|
|
public class MapEditorBackupModel
|
|
{
|
|
public MapEditorBackup[] Steps { get; set; } = [];
|
|
}
|
|
|
|
public class PositionBackup
|
|
{
|
|
public Guid Id { get; set; }
|
|
public double X { get; set; }
|
|
public double Y { get; set; }
|
|
}
|
|
|
|
public class EdgeBackup
|
|
{
|
|
public Guid Id { get; set; }
|
|
public TrajectoryDegree TrajectoryDegree { get; set; }
|
|
public double StartX { get; set; }
|
|
public double StartY { get; set; }
|
|
public double EndX { get; set; }
|
|
public double EndY { get; set; }
|
|
public double ControlPoint1X { get; set; }
|
|
public double ControlPoint1Y { get; set; }
|
|
public double ControlPoint2X { get; set; }
|
|
public double ControlPoint2Y { get; set; }
|
|
}
|
|
|
|
public class ZoneShapeBackup
|
|
{
|
|
public int NodeChange { get; set; }
|
|
public double X1 { get; set; }
|
|
public double Y1 { get; set; }
|
|
public double X2 { get; set; }
|
|
public double Y2 { get; set; }
|
|
public double X3 { get; set; }
|
|
public double Y3 { get; set; }
|
|
public double X4 { get; set; }
|
|
public double Y4 { get; set; }
|
|
}
|
|
|
|
public class SplitNodeBackup
|
|
{
|
|
public Guid NodeId { get; set; }
|
|
public Dictionary<Guid, NodeDto> EdgeSplit { get; set; } = [];
|
|
}
|
|
|
|
public class MergeNodeUpdate
|
|
{
|
|
public Guid NodeId { get; set; }
|
|
public Dictionary<Guid, Guid> EdgesMerge { get; set; } = [];
|
|
} |