37 lines
839 B
C#
37 lines
839 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Wing.Utils;
|
|
|
|
namespace Wing.Gizmos
|
|
{
|
|
public enum ESnapType
|
|
{
|
|
Move,
|
|
Rotate,
|
|
Scale,
|
|
Grid,
|
|
Angle,
|
|
}
|
|
|
|
public class SnapFactory : NormalSingleton<SnapFactory>
|
|
{
|
|
private Dictionary<ESnapType, ISnap> mSnaps = new Dictionary<ESnapType, ISnap>();
|
|
|
|
public SnapFactory()
|
|
{
|
|
mSnaps.Add(ESnapType.Move, new MoveSnap());
|
|
mSnaps.Add(ESnapType.Rotate, new RotateSnap());
|
|
mSnaps.Add(ESnapType.Scale, new ScaleSnap());
|
|
mSnaps.Add(ESnapType.Grid, new GridSnap());
|
|
mSnaps.Add(ESnapType.Angle, new AngleSnap());
|
|
}
|
|
|
|
public ISnap Get(ESnapType type)
|
|
{
|
|
return mSnaps[type];
|
|
}
|
|
}
|
|
}
|