1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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);
- if (Script.SpriteInfoList != null)
- {
- for (int i = 0; i < Script.SpriteInfoList.Count; i++)
- {
- SpriteInfo spriteInfo = Script.SpriteInfoList[i];
- GUILayout.BeginHorizontal();
- 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.EndHorizontal();
- }
- }
- 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);
- }
- }
- }
- }
|