using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace AriaPlugin.Runtime.Common { /// /// . /// public sealed class ShaderPropertyComponent : MonoBehaviour { #region Field [SerializeField] private bool isGlobal = false; [SerializeField] private Renderer renderer_ = null; [SerializeField] private string propertyName = "_Color"; private ShaderProperty shaderProp = null; #endregion // Field End. #region Method private void Reset() { renderer_ = GetComponent() ?? null; } private void Start() { var shader = isGlobal ? renderer_.GetComponent() : renderer_.material; shaderProp = new ShaderProperty(shader, propertyName); } public void SetFloat(float value){ shaderProp.SetFloat(value); } public void SetAlpha(float alpha){ shaderProp.SetAlpha(alpha); } public void SetColor(Color color){ shaderProp.SetColor(color); } public void SetTexture(Texture texture){ shaderProp.SetTexture(texture); } #endregion // Method End. } }