コード例 #1
0
        private void addPointEditorCircle(int index)
        {
            PointEditor pointEditorCircle = createPointEditorCircle(index);

            pointEditorCircle.transform.position = mapRoute.Points[index];

            pointEditorsList.Add(pointEditorCircle);
        }
コード例 #2
0
        private void onCircleDrag(Vector3 position, PointEditor pointEditor)
        {
            int     index = pointEditorsList.IndexOf(pointEditor);
            Vector3 worldPoint;

            RectTransformUtility.ScreenPointToWorldPointInRectangle(canvasTransform, position, Camera.main, out worldPoint);
            mapRoute.Points[index] = worldPoint;
            RouteView.SetRoute(mapRoute);
        }
コード例 #3
0
        private void onCircleAddPointButtonClicked(PointEditor pointEditor)
        {
            int index = pointEditorsList.IndexOf(pointEditor);

            mapRoute.Points.Insert(index + 1, pointEditor.transform.position);

            insertPointEditorCircle(index);

            RouteView.SetRoute(mapRoute);
        }
コード例 #4
0
 private void onEndDrag(Vector3 position, PointEditor pointEditor)
 {
     if (mapRoute.Points.Count > 0)
     {
         Vector3 worldPoint;
         RectTransformUtility.ScreenPointToWorldPointInRectangle(canvasTransform, position, Camera.main, out worldPoint);
         mapRoute.Points[mapRoute.Points.Count - 1] = worldPoint;
         RouteView.SetRoute(mapRoute);
     }
 }
コード例 #5
0
 private void createPointEditor()
 {
     if (endPointEditor == null)
     {
         endPointEditor          = Object.Instantiate(PointEditorPrefab, PointEditorContainer);
         endPointEditorTransform = endPointEditor.transform as RectTransform;
         endPointEditor.OnAddPointButtonClicked    += onAddPointButtonClicked;
         endPointEditor.OnRemovePointButtonClicked += onRemovePointButtonClicked;
         endPointEditor.OnDrag += onEndDrag;
     }
 }
コード例 #6
0
        private void onAddPointButtonClicked(PointEditor pointEditor)
        {
            if (mapRoute.Points.Count == 0)
            {
                mapRoute.Points.Add(endPointEditorTransform.position);
            }
            mapRoute.Points.Add(endPointEditorTransform.position);
            RouteView.SetRoute(mapRoute);

            addPointEditorCircle(pointEditorsList.Count);
        }
コード例 #7
0
        private void insertPointEditorCircle(int index)
        {
            int         insertIndex       = index + 1;
            PointEditor pointEditorCircle = createPointEditorCircle(insertIndex);

            pointEditorCircle.transform.position = mapRoute.Points[index];

            pointEditorsList.Insert(insertIndex, pointEditorCircle);

            pointEditorCircle.transform.SetSiblingIndex(insertIndex);
        }
コード例 #8
0
        private PointEditor createPointEditorCircle(int index)
        {
            PointEditor pointEditorCircle = Object.Instantiate(PointEditorCirclePrefab, PointEditorContainer.Find("CircleContainer"));

            pointEditorCircle.gameObject.name             = "PointEditorCircle " + index;
            pointEditorCircle.OnAddPointButtonClicked    += onCircleAddPointButtonClicked;
            pointEditorCircle.OnRemovePointButtonClicked += onCircleRemovePointButtonClicked;
            pointEditorCircle.OnDrag    += onCircleDrag;
            pointEditorCircle.OnClicked += onCircleClicked;

            return(pointEditorCircle);
        }
コード例 #9
0
        private void onRemovePointButtonClicked(PointEditor pointEditor)
        {
            if (mapRoute.Points.Count > 0)
            {
                mapRoute.Points.Remove(mapRoute.Points.Last());
                RouteView.SetRoute(mapRoute);

                endPointEditorTransform.position = mapRoute.Points.Last();

                pointEditorsList.RemoveAt(pointEditorsList.Count - 1);
            }
        }
コード例 #10
0
        private void onCircleClicked(PointEditor pointEditor)
        {
            int index = pointEditorsList.IndexOf(pointEditor);

            if (index != activeCircleIndex)
            {
                for (int i = 0; i < pointEditorsList.Count; i++)
                {
                    pointEditorsList[i].SetButtonsVisible(false);
                }
                pointEditorsList[index].SetButtonsVisible(true);
                activeCircleIndex = index;
            }
        }
コード例 #11
0
 private void onCircleRemovePointButtonClicked(PointEditor pointEditor)
 {
 }