public void Setup()
        {
            m_MousePosition = Vector2.zero;
            m_HoveredVertex = -1;
            m_HoveredEdge   = -1;
            m_ClosestEdge   = -1;

            m_View = Substitute.For <ISpriteMeshView>();
            m_View.mouseWorldPosition.Returns(x => m_MousePosition);
            m_View.hoveredVertex.Returns(x => m_HoveredVertex);
            m_View.hoveredEdge.Returns(x => m_HoveredEdge);
            m_View.closestEdge.Returns(x => m_ClosestEdge);
            m_View.WorldToScreen(Arg.Any <Vector2>()).Returns(x => ((Vector2)x[0] * 100f));
            m_View.IsActionTriggered(Arg.Any <MeshEditorAction>()).Returns(true);

            m_SelectedVertices = new List <int>();
            m_Selection        = Substitute.For <ISelection <int> >();
            m_Selection.Count.Returns(x => m_SelectedVertices.Count);
            m_Selection.Contains(Arg.Any <int>()).Returns(x => m_SelectedVertices.Contains((int)x[0]));
            m_Selection.elements.Returns(x => m_SelectedVertices.ToArray());
            m_Selection.activeElement.Returns(x =>
            {
                if (m_SelectedVertices.Count == 0)
                {
                    return(-1);
                }
                return(m_SelectedVertices[0]);
            });

            m_CacheUndo    = Substitute.For <ICacheUndo>();
            m_Triangulator = Substitute.For <ITriangulator>();

            m_SpriteMeshData                      = new SpriteMeshData();
            m_SpriteMeshData.frame                = new Rect(0f, 0f, 100f, 100f);
            m_SpriteMeshController                = new SpriteMeshController();
            m_SpriteMeshController.frame          = m_SpriteMeshData.frame;
            m_SpriteMeshController.spriteMeshData = m_SpriteMeshData;
            m_SpriteMeshController.spriteMeshView = m_View;
            m_SpriteMeshController.selection      = m_Selection;
            m_SpriteMeshController.cacheUndo      = m_CacheUndo;
            m_SpriteMeshController.triangulator   = m_Triangulator;

            m_SpriteMeshDataController.spriteMeshData = m_SpriteMeshData;
        }
Example #2
0
        public void Setup()
        {
            m_MousePosition = Vector2.zero;
            m_HoveredVertex = -1;
            m_HoveredEdge   = -1;
            m_ClosestEdge   = -1;

            m_View = Substitute.For <ISpriteMeshView>();
            m_View.mouseWorldPosition.Returns(x => m_MousePosition);
            m_View.hoveredVertex.Returns(x => m_HoveredVertex);
            m_View.hoveredEdge.Returns(x => m_HoveredEdge);
            m_View.closestEdge.Returns(x => m_ClosestEdge);
            m_View.WorldToScreen(Arg.Any <Vector2>()).Returns(x => ((Vector2)x[0] * 100f));

            m_SelectedVertices = new List <int>();
            m_Selection        = Substitute.For <ISelection>();
            m_Selection.Count.Returns(x => m_SelectedVertices.Count);
            m_Selection.IsSelected(Arg.Any <int>()).Returns(x => m_SelectedVertices.Contains((int)x[0]));
            m_Selection.GetEnumerator().Returns(x => m_SelectedVertices.GetEnumerator());
            m_Selection.single.Returns(x =>
            {
                if (m_SelectedVertices.Count == 1)
                {
                    return(m_SelectedVertices[0]);
                }
                return(-1);
            });

            m_UndoObject   = Substitute.For <IUndoObject>();
            m_Triangulator = Substitute.For <ITriangulator>();

            m_SpriteMeshData       = new SpriteMeshData();
            m_SpriteMeshData.frame = new Rect(0f, 0f, 100f, 100f);
            m_SpriteMeshController = new SpriteMeshController();
            m_SpriteMeshController.spriteMeshData = m_SpriteMeshData;
            m_SpriteMeshController.spriteMeshView = m_View;
            m_SpriteMeshController.selection      = m_Selection;
            m_SpriteMeshController.undoObject     = m_UndoObject;
            m_SpriteMeshController.triangulator   = m_Triangulator;
        }