lcy
2025-11-05 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4
Main/Component/UI/Decorate/Effect/SpriteEffect.cs
@@ -1,69 +1,67 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [Author]:           玩个游戏
//    [  Date ]:           Tuesday, August 22, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace vnxbqy.UI {
    [RequireComponent(typeof(Image))]
    public class SpriteEffect:MonoBehaviour {
[RequireComponent(typeof(Image))]
public class SpriteEffect:MonoBehaviour {
        [SerializeField]
        Effect m_Effect = Effect.None;
    [SerializeField]
    Effect m_Effect = Effect.None;
        CanvasAddition m_CanvasAddition;
        public CanvasAddition canvasAddition {
            get {
                return this.m_CanvasAddition ?? (this.m_CanvasAddition = this.GetComponentInParent<CanvasAddition>());
    CanvasAddition m_CanvasAddition;
    public CanvasAddition canvasAddition {
        get {
            return this.m_CanvasAddition ?? (this.m_CanvasAddition = this.GetComponentInParent<CanvasAddition>());
        }
    }
    Image m_Image;
    public Image image {
        get {
            return m_Image ?? (m_Image = this.AddMissingComponent<Image>());
        }
    }
    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;
            }
        }
    }
        Image m_Image;
        public Image image {
            get {
                return m_Image ?? (m_Image = this.AddMissingComponent<Image>());
            }
        }
        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,
        }
    public enum Effect {
        None,
        Gray,
        Twinkle,
    }
}