67 lines
2.0 KiB
C#
67 lines
2.0 KiB
C#
|
using UnityEngine;
|
||
|
|
||
|
namespace UnityEditor.U2D.Animation
|
||
|
{
|
||
|
internal enum SpriteMeshViewMode
|
||
|
{
|
||
|
EditGeometry,
|
||
|
CreateVertex,
|
||
|
CreateEdge,
|
||
|
SplitEdge
|
||
|
}
|
||
|
|
||
|
internal enum MeshEditorAction
|
||
|
{
|
||
|
None,
|
||
|
CreateVertex,
|
||
|
MoveVertex,
|
||
|
CreateEdge,
|
||
|
SplitEdge,
|
||
|
MoveEdge,
|
||
|
SelectVertex,
|
||
|
SelectEdge,
|
||
|
Remove
|
||
|
}
|
||
|
|
||
|
internal interface ISpriteMeshView
|
||
|
{
|
||
|
SpriteMeshViewMode mode { get; set; }
|
||
|
ISelection<int> selection { get; set; }
|
||
|
int defaultControlID { get; set; }
|
||
|
Rect frame { get; set; }
|
||
|
Vector2 mouseWorldPosition { get; }
|
||
|
int hoveredVertex { get; }
|
||
|
int hoveredEdge { get; }
|
||
|
int closestEdge { get; }
|
||
|
|
||
|
void CancelMode();
|
||
|
void BeginLayout();
|
||
|
void EndLayout();
|
||
|
void LayoutVertex(Vector2 position, int index);
|
||
|
void LayoutEdge(Vector2 startPosition, Vector2 endPosition, int index);
|
||
|
bool DoCreateVertex();
|
||
|
bool DoSelectVertex(out bool additive);
|
||
|
bool DoMoveVertex(out Vector2 delta);
|
||
|
bool DoMoveEdge(out Vector2 delta);
|
||
|
bool DoCreateEdge();
|
||
|
bool DoSplitEdge();
|
||
|
bool DoSelectEdge(out bool additive);
|
||
|
bool DoRemove();
|
||
|
void DrawVertex(Vector2 position);
|
||
|
void DrawVertexHovered(Vector2 position);
|
||
|
void DrawVertexSelected(Vector2 position);
|
||
|
void BeginDrawEdges();
|
||
|
void EndDrawEdges();
|
||
|
void DrawEdge(Vector2 startPosition, Vector2 endPosition);
|
||
|
void DrawEdgeHovered(Vector2 startPosition, Vector2 endPosition);
|
||
|
void DrawEdgeSelected(Vector2 startPosition, Vector2 endPosition);
|
||
|
bool IsActionTriggered(MeshEditorAction action);
|
||
|
bool IsActionActive(MeshEditorAction action);
|
||
|
bool IsActionHot(MeshEditorAction action);
|
||
|
Vector2 WorldToScreen(Vector2 position);
|
||
|
void DoRepaint();
|
||
|
bool CanRepaint();
|
||
|
bool CanLayout();
|
||
|
}
|
||
|
}
|