Example #1
0
        /// <summary>
        /// 追加
        /// </summary>
        private void Add()
        {
            Vector2 mPoint;

            if (!polyLine.GetMousePoint(out mPoint))
            {
                return;
            }

            //例外検出
            //if (!polyLine.checker.AddCheck(renderer.GetVertices(), mPoint)) return;

            //スナップ
            Vector2 snapPoint;

            if (polyLine.snapper.Snap(mPoint, out snapPoint))
            {
                mPoint = snapPoint;
                //クリック時のスナップのコールバックを呼ぶ
                snapper.CallPrevSnap();
                //その結果終了フラグが立った場合
                if (ended)
                {
                    //追加
                    renderer.Add(mPoint);
                    //終了
                    End(false);
                    return;
                }
            }

            //追加
            renderer.Add(mPoint);
            SetSnap();
        }
Example #2
0
        /// <summary>
        /// 入力確認
        /// </summary>
        private void InputCheck()
        {
            switch (mode)
            {
            //調整
            case Mode.Adjust:
                if (adjusting)
                {
                    Vector2 mDelta = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
                    if (mDelta.magnitude > EPSILON)
                    {
                        SetNoticeLine();
                    }
                    if (Input.GetMouseButtonUp(0))
                    {
                        Vector2 point;
                        if (polyLine.GetMousePoint(out point))
                        {
                            Vector2 snapPoint;
                            if (snapper.Snap(point, out snapPoint))
                            {
                                point = snapPoint;
                            }
                            EndVertexMove(point);
                        }
                    }
                }
                else
                {
                    if (Input.GetMouseButtonDown(removeModeButton))
                    {
                        StartRemoveMode();
                    }
                }
                break;

            //削除
            case Mode.Remove:
                if (Input.GetMouseButtonDown(removeModeButton))
                {
                    StartAdjustMode();
                }
                break;
            }
            //終了
            if (Input.GetKeyDown(escKey))
            {
                owner.DisactivateState();
            }
        }