static function SetBool (key : string, value : bool) : void
Description
Sets the value of the preference identified by key.
Round rotations/positions and remember the active option.
class EditorPrefsBool
extends EditorWindow {
var showRoundPosition : boolean = true;
var showRoundRotation : boolean = true;
@
MenuItem(
"Examples/Round positions-rotations")
static function Init() {
var window = GetWindow(EditorPrefsBool);
window.Show();
}
function OnGUI() {
showRoundPosition =
EditorGUILayout.BeginToggleGroup(
"Round Position",showRoundPosition);
if(
GUILayout.Button(
"Round Position!"))
DoRoundPosition();
EditorGUILayout.EndToggleGroup();
showRoundRotation =
EditorGUILayout.BeginToggleGroup(
"Round Rotation", showRoundRotation);
if(
GUILayout.Button(
"Round Rotation!"))
DoRoundRotation();
EditorGUILayout.EndToggleGroup();
}
function DoRoundPosition() {
for (
var t :
Transform in Selection.transforms)
t.localPosition =
Vector3(
Mathf.Round(t.localPosition.x),
Mathf.Round(t.localPosition.z),
Mathf.Round(t.localPosition.y));
}
function DoRoundRotation() {
for (
var t :
Transform in Selection.transforms)
t.rotation =
Quaternion.Euler(
Vector3(
Mathf.Round(t.eulerAngles.x / 45f) * 45f,
Mathf.Round(t.eulerAngles.y / 45f) * 45f,
Mathf.Round(t.eulerAngles.z / 45f) * 45f));
}
function OnFocus() {
if(
EditorPrefs.HasKey(
"ShowRoundPosition"))
showRoundPosition =
EditorPrefs.GetBool(
"ShowRoundPosition");
if(
EditorPrefs.HasKey(
"ShowRoundRotation"))
showRoundPosition =
EditorPrefs.GetBool(
"ShowRoundRotation");
}
function OnLostFocus() {
EditorPrefs.SetBool(
"ShowRoundPosition", showRoundPosition);
EditorPrefs.SetBool(
"ShowRoundRotation", showRoundRotation);
}
function OnDestroy() {
EditorPrefs.SetBool(
"ShowRoundPosition", showRoundPosition);
EditorPrefs.SetBool(
"ShowRoundRotation", showRoundRotation);
}
}