12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using UnityEditor;
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- [CustomEditor(typeof(SpriteAsset))]
- public class EditorSpriteAsste : Editor
- {
- #region 变量
- private Vector2 ScrollPos;
- private SpriteAsset Script;
- #endregion
- private void OnEnable()
- {
- Script = (SpriteAsset) target;
- }
- public override void OnInspectorGUI()
- {
- base.OnInspectorGUI();
- if (GUILayout.Button("GetSpriteInfo"))
- {
- GetSpriteInfo();
- }
- ScrollPos = GUILayout.BeginScrollView(ScrollPos, false, false);
- if (Script.SpriteInfoList != null)
- {
- for (int i = 0; i < Script.SpriteInfoList.Count; i++)
- {
- SpriteInfo spriteInfo = Script.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("");
- GUILayout.EndVertical();
- }
- }
- GUILayout.EndScrollView();
- }
- private void GetSpriteInfo()
- {
- Script.SpriteInfoList = new List<SpriteInfo>();
- string path = AssetDatabase.GetAssetPath(Script.Texture);
- Object[] objects = AssetDatabase.LoadAllAssetsAtPath(path);
- for (int i = 0; i < objects.Length; i++)
- {
- if (objects[i] is Sprite)
- {
- 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);
- }
- }
- }
- }
|