Version: 2022.3
言語: 日本語
public static bool GetBool (string key);
public static bool GetBool (string key, bool defaultValue= false);

説明

キーが存在する場合、key に対応する値を取得します。

キーが存在しない場合、defaultValue を返します。


Round rotations/positions and remember the active option.

using UnityEngine;
using UnityEditor;

public class EditorPrefsBoolExample : EditorWindow { bool showRoundPosition = true; bool showRoundRotation = true;

[MenuItem("Examples/Round positions-rotations")] static void Init() { EditorPrefsBoolExample window = (EditorPrefsBoolExample)EditorWindow.GetWindow(typeof(EditorPrefsBoolExample), true, "My Empty Window"); window.Show(); }

void 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(); }

void DoRoundPosition() { foreach (Transform t in Selection.transforms) t.localPosition = new Vector3(Mathf.Round(t.localPosition.x), Mathf.Round(t.localPosition.z), Mathf.Round(t.localPosition.y)); }

void DoRoundRotation() { foreach (Transform t in Selection.transforms) t.rotation = Quaternion.Euler( new Vector3(Mathf.Round(t.eulerAngles.x / 45f) * 45f, Mathf.Round(t.eulerAngles.y / 45f) * 45f, Mathf.Round(t.eulerAngles.z / 45f) * 45f)); }

void OnFocus() { if (EditorPrefs.HasKey("ShowRoundPosition")) showRoundPosition = EditorPrefs.GetBool("ShowRoundPosition"); if (EditorPrefs.HasKey("ShowRoundRotation")) showRoundPosition = EditorPrefs.GetBool("ShowRoundRotation"); }

void OnLostFocus() { EditorPrefs.SetBool("ShowRoundPosition", showRoundPosition); EditorPrefs.SetBool("ShowRoundRotation", showRoundRotation); }

void OnDestroy() { EditorPrefs.SetBool("ShowRoundPosition", showRoundPosition); EditorPrefs.SetBool("ShowRoundRotation", showRoundRotation); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961