Exemplo n.º 1
0
    void OnSceneGUI(SceneView sceneView)
    {
        if (Tools.current != Tool.View)
        {
            return;
        }

        Event currentEvent = Event.current;

        switch (currentEvent.type)
        {
        case EventType.MouseUp: {
            MapEditor.Click();
            break;
        }

        case EventType.MouseMove: {
            Vector2 adjustedMousePosition = new Vector2(currentEvent.mousePosition.x, sceneView.camera.pixelHeight - currentEvent.mousePosition.y);
            Vector2 rawMousePosition      = sceneView.camera.ScreenToWorldPoint(adjustedMousePosition);
            currentMousePos = new Vector3(Mathf.Floor(rawMousePosition.x) + 1f, Mathf.Floor(rawMousePosition.y));

            if (currentMousePos != lastMousePos)
            {
                lastMousePos       = currentMousePos;
                MapEditor.position = currentMousePos;
            }

            break;
        }

        case EventType.Repaint: {
            StackRenderer.UpdateCameraObjects(sceneView.camera);
            break;
        }
        }
    }