void DrawToogle(CachedPref pref)
        {
            var b = EditorGUILayout.ToggleLeft(pref.name, pref);

            if (b != pref)
            {
                pref.Set(b);
            }
        }
        public VectorPref(string keyPrefix, bool defaultUseLocalValue = false, bool lockUseLocalValue = false, string enableName = null)
        {
            ENABLE = new CachedPref(keyPrefix + "_ENABLE", false)
            {
                name = enableName ?? "Enable"
            };
            X = new CachedPref(keyPrefix + "_X", true)
            {
                name = "Snap X-axis"
            };
            Y = new CachedPref(keyPrefix + "_Y", true)
            {
                name = "Snap Y-axis"
            };
            Z = new CachedPref(keyPrefix + "_Z", true)
            {
                name = "Snap Z-axis"
            };

            USE_LOCAL = new CachedPref(keyPrefix + "_USE_LOCAL", defaultUseLocalValue, lockUseLocalValue)
            {
                name = "Use Local Space"
            };
        }