private void Start()
 {
     if (gs == null)
     {
         gs = GetComponent <GridSnapper>();
     }
     if (anim == null)
     {
         anim = GetComponentInChildren <Animator>();
     }
 }
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            EditorGUILayout.LabelField(GridSnapper.IsSnapping ? "Snapping..." : "Not snapping.");
            if (GridSnapper.IsSnapping && GUILayout.Button("Stop snapping"))
            {
                GridSnapper.StopSnapping();
            }
            if (!GridSnapper.IsSnapping && GUILayout.Button("Start snapping"))
            {
                GridSnapper.StartSnapping();
            }
        }
    public override void OnInspectorGUI()
    {
        GridSnapper snapper = (GridSnapper)target;

        DrawDefaultInspector();

        if (GUILayout.Button("Snap To Grid"))
        {
            snapper.SnapChildren();
        }

        if (GUILayout.Button("Save Mesh To " + snapper.filename + ".asset"))
        {
            snapper.SnapChildren();
            Mesh mesh = snapper.MakeMesh();

            //save the mesh
            AssetDatabase.CreateAsset(mesh, "Assets/" + snapper.filename + ".asset");
        }
    }