mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[unity] Default z-spacing preferences.
This commit is contained in:
parent
95f3a1fe17
commit
80c8b5bbc4
@ -153,6 +153,10 @@ namespace Spine.Unity.Editor {
|
||||
const string DEFAULT_SHADER_KEY = "SPINE_DEFAULT_SHADER";
|
||||
public static string defaultShader = DEFAULT_DEFAULT_SHADER;
|
||||
|
||||
const float DEFAULT_DEFAULT_ZSPACING = 0f;
|
||||
const string DEFAULT_ZSPACING_KEY = "SPINE_DEFAULT_ZSPACING";
|
||||
public static float defaultZSpacing = DEFAULT_DEFAULT_ZSPACING;
|
||||
|
||||
const bool DEFAULT_SHOW_HIERARCHY_ICONS = true;
|
||||
const string SHOW_HIERARCHY_ICONS_KEY = "SPINE_SHOW_HIERARCHY_ICONS";
|
||||
public static bool showHierarchyIcons = DEFAULT_SHOW_HIERARCHY_ICONS;
|
||||
@ -165,15 +169,18 @@ namespace Spine.Unity.Editor {
|
||||
Initialize();
|
||||
}
|
||||
|
||||
static void LoadPreferences () {
|
||||
defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, DEFAULT_DEFAULT_MIX);
|
||||
defaultScale = EditorPrefs.GetFloat(DEFAULT_SCALE_KEY, DEFAULT_DEFAULT_SCALE);
|
||||
defaultZSpacing = EditorPrefs.GetFloat(DEFAULT_ZSPACING_KEY, DEFAULT_DEFAULT_ZSPACING);
|
||||
defaultShader = EditorPrefs.GetString(DEFAULT_SHADER_KEY, DEFAULT_DEFAULT_SHADER);
|
||||
showHierarchyIcons = EditorPrefs.GetBool(SHOW_HIERARCHY_ICONS_KEY, DEFAULT_SHOW_HIERARCHY_ICONS);
|
||||
SpineHandles.handleScale = EditorPrefs.GetFloat(SCENE_ICONS_SCALE_KEY, DEFAULT_SCENE_ICONS_SCALE);
|
||||
preferencesLoaded = true;
|
||||
}
|
||||
|
||||
static void Initialize () {
|
||||
{
|
||||
defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, DEFAULT_DEFAULT_MIX);
|
||||
defaultScale = EditorPrefs.GetFloat(DEFAULT_SCALE_KEY, DEFAULT_DEFAULT_SCALE);
|
||||
defaultShader = EditorPrefs.GetString(DEFAULT_SHADER_KEY, DEFAULT_DEFAULT_SHADER);
|
||||
showHierarchyIcons = EditorPrefs.GetBool(SHOW_HIERARCHY_ICONS_KEY, DEFAULT_SHOW_HIERARCHY_ICONS);
|
||||
SpineHandles.handleScale = EditorPrefs.GetFloat(SCENE_ICONS_SCALE_KEY, DEFAULT_SCENE_ICONS_SCALE);
|
||||
preferencesLoaded = true;
|
||||
}
|
||||
LoadPreferences();
|
||||
|
||||
DirectoryInfo rootDir = new DirectoryInfo(Application.dataPath);
|
||||
FileInfo[] files = rootDir.GetFiles("SpineEditorUtilities.cs", SearchOption.AllDirectories);
|
||||
@ -214,14 +221,8 @@ namespace Spine.Unity.Editor {
|
||||
|
||||
[PreferenceItem("Spine")]
|
||||
static void PreferencesGUI () {
|
||||
if (!preferencesLoaded) {
|
||||
defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, DEFAULT_DEFAULT_MIX);
|
||||
defaultScale = EditorPrefs.GetFloat(DEFAULT_SCALE_KEY, DEFAULT_DEFAULT_SCALE);
|
||||
defaultShader = EditorPrefs.GetString(DEFAULT_SHADER_KEY, DEFAULT_DEFAULT_SHADER);
|
||||
showHierarchyIcons = EditorPrefs.GetBool(SHOW_HIERARCHY_ICONS_KEY, DEFAULT_SHOW_HIERARCHY_ICONS);
|
||||
SpineHandles.handleScale = EditorPrefs.GetFloat(SCENE_ICONS_SCALE_KEY, DEFAULT_SCENE_ICONS_SCALE);
|
||||
preferencesLoaded = true;
|
||||
}
|
||||
if (!preferencesLoaded)
|
||||
LoadPreferences();
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
showHierarchyIcons = EditorGUILayout.Toggle(new GUIContent("Show Hierarchy Icons", "Show relevant icons on GameObjects with Spine Components on them. Disable this if you have large, complex scenes."), showHierarchyIcons);
|
||||
@ -244,18 +245,22 @@ namespace Spine.Unity.Editor {
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
EditorPrefs.SetFloat(DEFAULT_SCALE_KEY, defaultScale);
|
||||
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
#if UNITY_5_3_OR_NEWER
|
||||
defaultShader = EditorGUILayout.DelayedTextField(new GUIContent("Default shader", "Default shader for materials auto-generated on import."), defaultShader);
|
||||
#else
|
||||
defaultShader = EditorGUILayout.TextField(new GUIContent("Default shader", "Default shader for materials auto-generated on import."), defaultShader);
|
||||
#endif
|
||||
var shader = (EditorGUILayout.ObjectField("Default Shader", Shader.Find(defaultShader), typeof(Shader), false) as Shader);
|
||||
defaultShader = shader != null ? shader.name : DEFAULT_DEFAULT_SHADER;
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
EditorPrefs.SetString(DEFAULT_SHADER_KEY, defaultShader);
|
||||
EditorGUILayout.Space();
|
||||
|
||||
EditorGUILayout.LabelField("Editor Instantiation", EditorStyles.boldLabel);
|
||||
EditorGUI.BeginChangeCheck();
|
||||
defaultZSpacing = EditorGUILayout.Slider("Default Slot Z-Spacing", defaultZSpacing, -0.1f, 0f);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
EditorPrefs.SetFloat(DEFAULT_ZSPACING_KEY, defaultZSpacing);
|
||||
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Editor", EditorStyles.boldLabel);
|
||||
EditorGUILayout.LabelField("Handles and Gizmos", EditorStyles.boldLabel);
|
||||
EditorGUI.BeginChangeCheck();
|
||||
SpineHandles.handleScale = EditorGUILayout.Slider("Editor Bone Scale", SpineHandles.handleScale, 0.01f, 2f);
|
||||
SpineHandles.handleScale = Mathf.Max(0.01f, SpineHandles.handleScale);
|
||||
@ -268,7 +273,7 @@ namespace Spine.Unity.Editor {
|
||||
GUILayout.Space(20);
|
||||
EditorGUILayout.LabelField("3rd Party Settings", EditorStyles.boldLabel);
|
||||
using (new GUILayout.HorizontalScope()) {
|
||||
EditorGUILayout.PrefixLabel("TK2D");
|
||||
EditorGUILayout.PrefixLabel("Define TK2D");
|
||||
if (GUILayout.Button("Enable", GUILayout.Width(64)))
|
||||
EnableTK2D();
|
||||
if (GUILayout.Button("Disable", GUILayout.Width(64)))
|
||||
@ -1359,6 +1364,7 @@ namespace Spine.Unity.Editor {
|
||||
throw e;
|
||||
}
|
||||
|
||||
// Set Defaults
|
||||
bool noSkins = data.DefaultSkin == null && (data.Skins == null || data.Skins.Count == 0); // Support attachmentless/skinless SkeletonData.
|
||||
skin = skin ?? data.DefaultSkin ?? (noSkins ? null : data.Skins.Items[0]);
|
||||
if (skin != null) {
|
||||
@ -1366,6 +1372,8 @@ namespace Spine.Unity.Editor {
|
||||
newSkeletonAnimation.skeleton.SetSkin(skin);
|
||||
}
|
||||
|
||||
newSkeletonAnimation.zSpacing = defaultZSpacing;
|
||||
|
||||
newSkeletonAnimation.skeleton.Update(0);
|
||||
newSkeletonAnimation.state.Update(0);
|
||||
newSkeletonAnimation.state.Apply(newSkeletonAnimation.skeleton);
|
||||
@ -1412,7 +1420,9 @@ namespace Spine.Unity.Editor {
|
||||
data = skeletonDataAsset.GetSkeletonData(true);
|
||||
}
|
||||
|
||||
// Set defaults
|
||||
skin = skin ?? data.DefaultSkin ?? data.Skins.Items[0];
|
||||
anim.zSpacing = defaultZSpacing;
|
||||
|
||||
anim.Initialize(false);
|
||||
anim.skeleton.SetSkin(skin);
|
||||
|
||||
@ -194,11 +194,8 @@ namespace Spine.Unity.Editor {
|
||||
data = skeletonDataAsset.GetSkeletonData(true);
|
||||
}
|
||||
|
||||
if (skin == null)
|
||||
skin = data.DefaultSkin;
|
||||
|
||||
if (skin == null)
|
||||
skin = data.Skins.Items[0];
|
||||
skin = skin ?? data.DefaultSkin ?? data.Skins.Items[0];
|
||||
graphic.MeshGenerator.settings.zSpacing = SpineEditorUtilities.defaultZSpacing;
|
||||
|
||||
graphic.Initialize(false);
|
||||
graphic.Skeleton.SetSkin(skin);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user