#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