using UnityEngine.UI;
|
using UnityEngine;
|
|
|
|
public class ImageEx : Image
|
{
|
|
CanvasAddition m_CanvasAddition;
|
public CanvasAddition canvasAddition {
|
get {
|
return this.m_CanvasAddition ?? (this.m_CanvasAddition = this.GetComponentInParent<CanvasAddition>());
|
}
|
}
|
|
Material materialRecorder;
|
|
[SerializeField]
|
bool m_Gray = false;
|
public bool gray {
|
get {
|
return this.m_Gray;
|
}
|
set {
|
if (this.gray == value)
|
{
|
return;
|
}
|
|
this.m_Gray = value;
|
if (!inited)
|
{
|
return;
|
}
|
|
if (this.m_Gray)
|
{
|
this.material = this.canvasAddition == null ? MaterialUtility.GetDefaultSpriteGrayMaterial() : this.canvasAddition.spriteGrayMaterial;
|
}
|
else
|
{
|
this.material = materialRecorder;
|
}
|
}
|
}
|
|
[SerializeField] string m_IconKey = string.Empty;
|
|
bool inited = false;
|
protected override void Awake()
|
{
|
base.Awake();
|
materialRecorder = this.material;
|
inited = true;
|
if (this.m_Gray)
|
{
|
this.material = this.canvasAddition == null ? MaterialUtility.GetDefaultSpriteGrayMaterial() : this.canvasAddition.spriteGrayMaterial;
|
}
|
|
if (!string.IsNullOrEmpty(m_IconKey))
|
{
|
this.SetSprite(m_IconKey);
|
}
|
}
|
}
|