Input.GetMouseButton(0) not working, need help

I am writing an editor code to alter my own terrain system and need help getting it to recognize when I am clicking teh mouse button.

using UnityEngine;
using UnityEditor;
using System.Collections;

public class TerrainEditor : EditorWindow
{
    public bool editVertices = true;
    public bool editTextures = false;

    public float gridLock = 0.5f;

    public static bool showBrush = true;
    public static string brushRadius = "5";

    public static string mouseOver = "Nothing";
    public static GameObject mouseBoundsPosition;
    public static SceneView view;

    public static GameObject[] Cells;

    void OnInspectorUpdate()
    {
        if (mouseOverWindow) mouseOverWindow.Focus();
        Repaint();
    }

    [MenuItem("Heightmap/Terrain Editor %#e")]
    public static void Init()
    {
        ClearTempFiles();

        GameObject tempFolder = new GameObject();
        tempFolder.name = "Temp Folder";
        tempFolder.tag = "Temporary";
        tempFolder.transform.parent = GameObject.FindGameObjectWithTag(TerrainSystem.worldTag).transform;

        mouseBoundsPosition = new GameObject();
        mouseBoundsPosition.name = "Temp Mouse";
        mouseBoundsPosition.tag = "Temporary";
        mouseBoundsPosition.transform.parent = tempFolder.transform;

        mouseBoundsPosition.AddComponent<SphereCollider>();

        TerrainEditor editorWindow = (TerrainEditor)GetWindow(typeof(TerrainEditor), false, "Terrain Editor");
        SceneView.onSceneGUIDelegate += OnScene;
        editorWindow.Show();
    }

    void OnGUI()
    {
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Map Editor");
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        brushRadius = GUILayout.TextField(brushRadius, 2);
        showBrush = GUILayout.Toggle(showBrush, "Show Brush");
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        editVertices = GUILayout.Toggle(editVertices, "Edit Terrain");
        EditorGUILayout.EndHorizontal();
    }

    public static void OnScene(SceneView sceneview)
    {
        Cells = GameObject.FindGameObjectsWithTag(TerrainSystem.cellTag);

        if (Cells.Length > 0)
        {
            if (showBrush)
            {
                view = SceneView.currentDrawingSceneView;

                if (view != null)
                {
                    view.rotation = Quaternion.Euler(90, 0, 0);
                }

                HandleUtility.AddDefaultControl(GUIUtility.GetControlID(FocusType.Passive));

                Ray worldRay = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
                RaycastHit hitInfo;

                if (Physics.Raycast(worldRay, out hitInfo))
                {
                    if (hitInfo.transform.tag == TerrainSystem.cellTag)
                    {
                        Vector3 mousePosition = hitInfo.point;

                        float radius = (float.Parse(brushRadius));

                        Handles.color = Color.blue;
                        Handles.DrawWireDisc(mousePosition, Vector3.up, radius);
                        mouseBoundsPosition.transform.position = mousePosition;

                        Bounds mouseBounds = mouseBoundsPosition.GetComponent<SphereCollider>().bounds;
                        mouseBounds.Expand(radius / 2);

                        foreach (GameObject cell in Cells)
                        {
                            if (mouseBounds.Intersects(cell.GetComponent<MeshCollider>().bounds))
                            {
                                Mesh mesh = cell.GetComponent<MeshFilter>().sharedMesh;
                                Vector3[] verts = mesh.vertices;

                                if (Input.GetMouseButton(0) == true)
                                {
                                    Debug.Log("working");

                                    for (int i = 0; i <= verts.Length; i++)
                                    {
                                        if (mouseBounds.Contains(verts[i]))
                                        {
                                            Vector3 newPosition = new Vector3(verts[i].x, verts[i].y + 1, verts[i].z);
                                            verts[i] = newPosition;

                                            mesh.vertices = verts;
                                            mesh.RecalculateBounds();
                                            mesh.RecalculateNormals();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        else ErrorCodeT.x003b();
    }

    public void OnDestroy()
    {
        SceneView.onSceneGUIDelegate -= OnScene;
        ClearTempFiles();
    }

    public static void ClearTempFiles()
    {
        GameObject[] tempFiles = GameObject.FindGameObjectsWithTag("Temporary");

        foreach (GameObject tempFile in tempFiles)
        {
            DestroyImmediate(tempFile);
        }
    }
}

If I’m not mistaken, Input does not work in edit-mode. Check Event instead (Unity - Scripting API: Event).

Probably something like…

if (Event.current != null && Event.current.type == EventType.MouseDown && Event.current.button == 0)
{
    // do stuff
}

tried that as well, but you have given me a lead as to why it is not working, so it’s a start