You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
2.5 KiB

using UnityEngine;
using UnityEditor;
using System.Collections;
namespace ProGrids
{
public class pg_ParameterWindow : EditorWindow
{
public pg_Editor editor;
GUIContent gc_predictiveGrid = new GUIContent("Predictive Grid", "If enabled, the grid will automatically render at the optimal axis based on movement.");
GUIContent gc_snapAsGroup = new GUIContent("Snap as Group", "If enabled, selected objects will keep their relative offsets when moving. If disabled, every object in the selection is snapped to grid independently.");
void OnGUI()
{
GUILayout.Label("Snap Settings", EditorStyles.boldLabel);
float snap = editor.GetSnapIncrement();
EditorGUI.BeginChangeCheck();
snap = EditorGUILayout.FloatField("Snap Value", snap);
if(EditorGUI.EndChangeCheck())
editor.SetSnapIncrement(snap);
EditorGUI.BeginChangeCheck();
int majorLineIncrement = EditorPrefs.GetInt(pg_Constant.MajorLineIncrement, 10);
majorLineIncrement = EditorGUILayout.IntField("Major Line Increment", majorLineIncrement);
majorLineIncrement = majorLineIncrement < 2 ? 2 : majorLineIncrement > 128 ? 128 : majorLineIncrement;
if(EditorGUI.EndChangeCheck())
{
EditorPrefs.SetInt(pg_Constant.MajorLineIncrement, majorLineIncrement);
pg_GridRenderer.majorLineIncrement = majorLineIncrement;
pg_Editor.ForceRepaint();
}
editor.ScaleSnapEnabled = EditorGUILayout.Toggle("Snap On Scale", editor.ScaleSnapEnabled);
SnapUnit _gridUnits = (SnapUnit)(EditorPrefs.HasKey(pg_Constant.GridUnit) ? EditorPrefs.GetInt(pg_Constant.GridUnit) : 0);
bool snapAsGroup = editor.snapAsGroup;
snapAsGroup = EditorGUILayout.Toggle(gc_snapAsGroup, snapAsGroup);
if(snapAsGroup != editor.snapAsGroup)
editor.snapAsGroup = snapAsGroup;
EditorGUI.BeginChangeCheck();
_gridUnits = (SnapUnit)EditorGUILayout.EnumPopup("Grid Units", _gridUnits);
EditorGUI.BeginChangeCheck();
editor.angleValue = EditorGUILayout.Slider("Angle", editor.angleValue, 0f, 180f);
if(EditorGUI.EndChangeCheck())
SceneView.RepaintAll();
if( EditorGUI.EndChangeCheck() )
{
EditorPrefs.SetInt(pg_Constant.GridUnit, (int) _gridUnits);
editor.LoadPreferences();
}
bool tmp = editor.predictiveGrid;
tmp = EditorGUILayout.Toggle(gc_predictiveGrid, tmp);
if( tmp != editor.predictiveGrid )
{
editor.predictiveGrid = tmp;
EditorPrefs.SetBool(pg_Constant.PredictiveGrid, tmp);
}
GUILayout.FlexibleSpace();
if( GUILayout.Button("Done"))
this.Close();
}
}
}