#if HAVE_NODECANVAS using System; using UnityEngine; using ParadoxNotion.Design; using NodeCanvas.Framework; namespace Framework.Cinematics { /// Changes the alpha value of a standard shader based material [Category("Cinematics")] [Description("Toggles the renderer components of a game object on or off")] public class ToggleRendererTask : ActionTask { /// Game object whose renderers will be toggled [RequiredField] public BBParameter ObjectToChange; /// Whether the renderer will be enabled or disabled public bool State = true; /// Summary of what this action does protected override string info { get { if(this.State) { return "Show " + this.ObjectToChange.ToString(); } else { return "Hide " + this.ObjectToChange.ToString(); } } } /// Called once when the action is executed protected override void OnExecute() { Renderer[] renderers = this.ObjectToChange.value.GetComponentsInChildren(); if(renderers != null) { int rendererCount = renderers.Length; for(int index = 0; index < rendererCount; ++index) { renderers[index].enabled = this.State; } } EndAction(); } } } // namespace Framework.Cinematics #endif // HAVE_NODECANVAS