//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, August 22, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; namespace Snxxz.UI { [RequireComponent(typeof(Image))] public class SpriteEffect:MonoBehaviour { [SerializeField] Effect m_Effect = Effect.None; CanvasAddition m_CanvasAddition; public CanvasAddition canvasAddition { get { return this.m_CanvasAddition ?? (this.m_CanvasAddition = this.GetComponentInParent()); } } Image m_Image; public Image image { get { return m_Image ?? (m_Image = this.AddMissingComponent()); } } Material m_TwinkleMaterial; Material twinleMaterial { get { return m_TwinkleMaterial??(m_TwinkleMaterial=MaterialUtility.GetDefaultSpriteGrayMaterial()); } } private void OnEnable() { if(this.image != null) { switch(this.m_Effect) { case Effect.Gray: this.image.material = canvasAddition.spriteGrayMaterial; break; case Effect.Twinkle: this.image.material = this.canvasAddition.spriteGrayMaterial; break; case Effect.None: this.image.material = null; break; default: break; } } } public enum Effect { None, Gray, Twinkle, } } }