#if UNITY_EDITOR
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace U3DExtends
|
|
{
|
|
[RequireComponent(typeof(RectTransform))]
|
|
[ExecuteInEditMode]
|
|
public class Decorate : MonoBehaviour
|
|
{
|
|
string spr_path = "";
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private Image _image;
|
|
|
|
Vector3 _lastPos = new Vector3(-1, -1);
|
|
Vector2 _lastSize = Vector2.zero;
|
|
|
|
public string SprPath
|
|
{
|
|
get { return spr_path; }
|
|
set
|
|
{
|
|
LoadSpr(value);
|
|
}
|
|
}
|
|
|
|
public void LoadSpr(string path)
|
|
{
|
|
InitComponent();
|
|
if (spr_path != path)
|
|
{
|
|
spr_path = path;
|
|
_image.sprite = UIEditorHelper.LoadSpriteInLocal(path);
|
|
_image.SetNativeSize();
|
|
gameObject.name = CommonHelper.GetFileNameByPath(path);
|
|
//Debug.Log("_image.sprite :" + (_image.sprite != null).ToString());
|
|
}
|
|
}
|
|
|
|
protected void Start()
|
|
{
|
|
InitComponent();
|
|
}
|
|
|
|
protected void InitComponent()
|
|
{
|
|
if (_image == null)
|
|
_image = GetComponent<Image>();
|
|
}
|
|
|
|
public bool IsChangedTrans()
|
|
{
|
|
RectTransform curTrans = transform as RectTransform;
|
|
if (curTrans.localPosition == _lastPos && curTrans.sizeDelta == _lastSize)
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
|
|
public void SaveTrans()
|
|
{
|
|
RectTransform rectTrans = transform as RectTransform;
|
|
_lastPos = rectTrans.localPosition;
|
|
_lastSize = rectTrans.sizeDelta;
|
|
}
|
|
|
|
}
|
|
}
|
|
#endif
|