예제 #1
0
 /// <summary>
 /// 戻る
 /// </summary>
 private void Escape()
 {
     //頂点数が0確認
     if (renderer.GetVertexCount() == 0)
     {
         //終了
         End(true);
     }
     else
     {
         //全削除するが終了はしない
         renderer.Clear();
         SetSnap();
     }
 }
예제 #2
0
        /// <summary>
        /// 頂点の削除
        /// </summary>
        private void RemoveVertex(int index)
        {
            int count = renderer.GetVertexCount();

            if (connected && count <= 4)
            {
                return;
            }
            else if (count == 1)
            {
                //最後の頂点を削除
                Exit();
            }

            //削除処理
            if (index == 0 && connected)
            {
                Vector2 point = renderer.GetVertex(1);
                renderer.Change(count - 1, point);
            }
            renderer.Remove(index);

            HideMarkers();
            ShowRemoveMarkers(renderer.GetVertices());

            //コールバック
            onChangeVertex.Invoke(renderer.GetVertices());
        }