|
@@ -10,13 +10,12 @@ public class EditorSpriteAsste : Editor
|
|
|
#region 变量
|
|
|
|
|
|
private Vector2 ScrollPos;
|
|
|
- private SpriteAsset Script;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
private void OnEnable()
|
|
|
{
|
|
|
- Script = (SpriteAsset) target;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public override void OnInspectorGUI()
|
|
@@ -30,20 +29,23 @@ public class EditorSpriteAsste : Editor
|
|
|
|
|
|
ScrollPos = GUILayout.BeginScrollView(ScrollPos, false, false);
|
|
|
|
|
|
- if (Script.SpriteInfoList != null)
|
|
|
+ if (SpriteAsset.SpriteInfoList != null)
|
|
|
{
|
|
|
- for (int i = 0; i < Script.SpriteInfoList.Count; i++)
|
|
|
+ for (int i = 0; i < SpriteAsset.SpriteInfoList.Count; i++)
|
|
|
{
|
|
|
- SpriteInfo spriteInfo = Script.SpriteInfoList[i];
|
|
|
+ SpriteInfo spriteInfo = SpriteAsset.SpriteInfoList[i];
|
|
|
|
|
|
EditorGUILayout.ObjectField("", spriteInfo.Sprite, typeof(Sprite), false);
|
|
|
|
|
|
GUILayout.BeginVertical();
|
|
|
|
|
|
- EditorGUILayout.LabelField("ID : " + spriteInfo.ID);
|
|
|
EditorGUILayout.LabelField("Name : " + spriteInfo.Name);
|
|
|
- EditorGUILayout.LabelField("Rect : " + spriteInfo.Rect);
|
|
|
- EditorGUILayout.LabelField("Pivot : " + spriteInfo.Pivot);
|
|
|
+
|
|
|
+ EditorGUILayout.LabelField("LowerLeft : " + spriteInfo.UvList[0]);
|
|
|
+ EditorGUILayout.LabelField("UpperLeft : " + spriteInfo.UvList[1]);
|
|
|
+ EditorGUILayout.LabelField("UpperRight : " + spriteInfo.UvList[2]);
|
|
|
+ EditorGUILayout.LabelField("LowerRight : " + spriteInfo.UvList[3]);
|
|
|
+
|
|
|
EditorGUILayout.LabelField("");
|
|
|
|
|
|
GUILayout.EndVertical();
|
|
@@ -56,9 +58,9 @@ public class EditorSpriteAsste : Editor
|
|
|
|
|
|
private void GetSpriteInfo()
|
|
|
{
|
|
|
- Script.SpriteInfoList = new List<SpriteInfo>();
|
|
|
+ SpriteAsset.SpriteInfoList = new List<SpriteInfo>();
|
|
|
|
|
|
- string path = AssetDatabase.GetAssetPath(Script.Texture);
|
|
|
+ string path = AssetDatabase.GetAssetPath(SpriteAsset.Texture);
|
|
|
|
|
|
Object[] objects = AssetDatabase.LoadAllAssetsAtPath(path);
|
|
|
|
|
@@ -68,14 +70,25 @@ public class EditorSpriteAsste : Editor
|
|
|
{
|
|
|
Sprite sprite = (Sprite) objects[i];
|
|
|
SpriteInfo spriteInfo = new SpriteInfo();
|
|
|
-
|
|
|
- spriteInfo.ID = i;
|
|
|
- spriteInfo.Rect = sprite.rect;
|
|
|
- spriteInfo.Pivot = sprite.pivot;
|
|
|
+
|
|
|
spriteInfo.Sprite = sprite;
|
|
|
spriteInfo.Name = sprite.name;
|
|
|
|
|
|
- Script.SpriteInfoList.Add(spriteInfo);
|
|
|
+ float width = SpriteAsset.Texture.width;
|
|
|
+ float height = SpriteAsset.Texture.height;
|
|
|
+
|
|
|
+ Vector2 llUv = new Vector2(sprite.rect.xMin/width, sprite.rect.yMin/height);
|
|
|
+ Vector2 ulUv = new Vector2(sprite.rect.xMin/width, sprite.rect.yMax/height);
|
|
|
+ Vector2 urUv = new Vector2(sprite.rect.xMax/width, sprite.rect.yMax/height);
|
|
|
+ Vector2 lrUv = new Vector2(sprite.rect.xMax/width, sprite.rect.yMin/height);
|
|
|
+
|
|
|
+ spriteInfo.UvList = new List<Vector2>();
|
|
|
+ spriteInfo.UvList.Add(llUv);
|
|
|
+ spriteInfo.UvList.Add(ulUv);
|
|
|
+ spriteInfo.UvList.Add(urUv);
|
|
|
+ spriteInfo.UvList.Add(lrUv);
|
|
|
+
|
|
|
+ SpriteAsset.SpriteInfoList.Add(spriteInfo);
|
|
|
}
|
|
|
}
|
|
|
}
|