123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- using System;
- using UnityEngine;
- namespace UnityEditor.U2D.Animation
- {
- internal class SkinningModuleSettings
- {
- public const string kCompactToolbarKey = UserSettings.kSettingsUniqueKey + "AnimationEditorSetting.compactToolbar";
- public static readonly GUIContent kCompactToolbarLabel = EditorGUIUtility.TrTextContent("Hide Tool Text");
- public static bool compactToolBar
- {
- get { return EditorPrefs.GetBool(kCompactToolbarKey, false); }
- set { EditorPrefs.SetBool(kCompactToolbarKey, value); }
- }
- public void OnGUI()
- {
- EditorGUI.BeginChangeCheck();
- var c = EditorGUILayout.Toggle(kCompactToolbarLabel, compactToolBar);
- if (EditorGUI.EndChangeCheck())
- compactToolBar = c;
- }
- }
- internal class VisibilityToolSettings
- {
- public const string kBoneOpacitykey = UserSettings.kSettingsUniqueKey + "VisibilityToolSettings.boneOpacity";
- public const string kMeshOpacityKey = UserSettings.kSettingsUniqueKey + "VisibilityToolSettings.meshOpacity";
- public static float boneOpacity
- {
- get { return EditorPrefs.GetFloat(kBoneOpacitykey, 1.0f); }
- set { EditorPrefs.SetFloat(kBoneOpacitykey, value); }
- }
- public static float meshOpacity
- {
- get { return EditorPrefs.GetFloat(kMeshOpacityKey, 0.5f); }
- set { EditorPrefs.SetFloat(kMeshOpacityKey, value); }
- }
- }
- internal class GenerateGeomertySettings
- {
- public const int kDefaultOutlineDetail = 10;
- public const int kDefaultAlphaTolerance = 10;
- public const int kDefaultSubdivide = 20;
- public const string kOutlineDetailKey = UserSettings.kSettingsUniqueKey + "GenerateGeomertySetting.outlineDetail";
- public const string kAlphaToleranceKey = UserSettings.kSettingsUniqueKey + "GenerateGeomertySetting.alphaTolerance";
- public const string kSubdivideKey = UserSettings.kSettingsUniqueKey + "GenerateGeomertySetting.subdivide";
- public const string kGenerateWeightsKey = UserSettings.kSettingsUniqueKey + "GenerateGeomertySetting.generateWeights";
- public static int outlineDetail
- {
- get { return EditorPrefs.GetInt(kOutlineDetailKey, kDefaultOutlineDetail); }
- set { EditorPrefs.SetInt(kOutlineDetailKey, value); }
- }
- public static int alphaTolerance
- {
- get { return EditorPrefs.GetInt(kAlphaToleranceKey, kDefaultAlphaTolerance); }
- set { EditorPrefs.SetInt(kAlphaToleranceKey, value); }
- }
- public static int subdivide
- {
- get { return EditorPrefs.GetInt(kSubdivideKey, kDefaultSubdivide); }
- set { EditorPrefs.SetInt(kSubdivideKey, value); }
- }
- public static bool generateWeights
- {
- get { return EditorPrefs.GetBool(kGenerateWeightsKey, true); }
- set { EditorPrefs.SetBool(kGenerateWeightsKey, value); }
- }
- }
- internal class SelectionOutlineSettings
- {
- public const string kSelectedOutlineRedKey = UserSettings.kSettingsUniqueKey + "OutlineColorRed";
- public const string kSelectedOutlineGreenKey = UserSettings.kSettingsUniqueKey + "OutlineColorGreen";
- public const string kSelectedOutlineBlueKey = UserSettings.kSettingsUniqueKey + "OutlineColorBlue";
- public const string kSelectedOutlineAlphaKey = UserSettings.kSettingsUniqueKey + "OutlineColorAlpha";
- public const string kSelectedSpriteOutlineSize = UserSettings.kSettingsUniqueKey + "OutlineSize";
- public const string kSelectedBoneOutlineSize = UserSettings.kSettingsUniqueKey + "BoneOutlineSize";
- public static readonly GUIContent kSelectedOutlineColorLabel = EditorGUIUtility.TrTextContent(TextContent.selectedOutlineColor);
- public static readonly GUIContent kSelectedOutlineSizeLabel = EditorGUIUtility.TrTextContent(TextContent.spriteOutlineSize);
- public static readonly GUIContent kSelectedBoneOutlineSizeLabel = EditorGUIUtility.TrTextContent(TextContent.boneOutlineSize);
- public static Color outlineColor
- {
- get
- {
- return new Color()
- {
- r = EditorPrefs.GetFloat(kSelectedOutlineRedKey, 1),
- g = EditorPrefs.GetFloat(kSelectedOutlineGreenKey, 102.0f / 255.0f),
- b = EditorPrefs.GetFloat(kSelectedOutlineBlueKey, 0),
- a = EditorPrefs.GetFloat(kSelectedOutlineAlphaKey, 1)
- };
- }
- set
- {
- EditorPrefs.SetFloat(kSelectedOutlineRedKey, value.r);
- EditorPrefs.SetFloat(kSelectedOutlineGreenKey, value.g);
- EditorPrefs.SetFloat(kSelectedOutlineBlueKey, value.b);
- EditorPrefs.SetFloat(kSelectedOutlineAlphaKey, value.a);
- }
- }
- public static int selectedSpriteOutlineSize
- {
- get { return EditorPrefs.GetInt(kSelectedSpriteOutlineSize, 1); }
- set { EditorPrefs.SetInt(kSelectedSpriteOutlineSize, value); }
- }
- public static float selectedBoneOutlineSize
- {
- get { return EditorPrefs.GetFloat(kSelectedBoneOutlineSize, 1); }
- set { EditorPrefs.SetFloat(kSelectedBoneOutlineSize, value); }
- }
- public void OnGUI()
- {
- EditorGUI.BeginChangeCheck();
- var c = EditorGUILayout.ColorField(kSelectedOutlineColorLabel, outlineColor);
- if (EditorGUI.EndChangeCheck())
- outlineColor = c;
- EditorGUI.BeginChangeCheck();
- var s = EditorGUILayout.IntSlider(kSelectedOutlineSizeLabel, selectedSpriteOutlineSize, 0, 10);
- if (EditorGUI.EndChangeCheck())
- selectedSpriteOutlineSize = s;
- EditorGUI.BeginChangeCheck();
- var o = EditorGUILayout.Slider(kSelectedBoneOutlineSizeLabel, selectedBoneOutlineSize, 0, 3);
- if (EditorGUI.EndChangeCheck())
- selectedBoneOutlineSize = o;
- }
- }
- internal class UserSettings : SettingsProvider
- {
- public const string kSettingsUniqueKey = "UnityEditor.U2D.Animation/";
- private static SelectionOutlineSettings s_SelectionOutlineSettings = new SelectionOutlineSettings();
- private static SkinningModuleSettings s_SkinningModuleSettings = new SkinningModuleSettings();
- public UserSettings() : base("Preferences/2D/Animation", SettingsScope.User)
- {
- guiHandler = OnGUI;
- }
- [SettingsProvider]
- private static SettingsProvider CreateSettingsProvider()
- {
- return new UserSettings()
- {
- guiHandler = SettingsGUI
- };
- }
- private static void SettingsGUI(string searchContext)
- {
- s_SkinningModuleSettings.OnGUI();
- s_SelectionOutlineSettings.OnGUI();
- }
- }
- }
|