1
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using NodeCanvas.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BITKit.NodeCanvas
|
||||
{
|
||||
public sealed class SetBehaviourEnabled:ActionTask
|
||||
{
|
||||
public BBParameter<Object> behaviour;
|
||||
public BBParameter<bool> enabled;
|
||||
protected override void OnExecute()
|
||||
{
|
||||
switch (behaviour.value)
|
||||
{
|
||||
case MonoBehaviour monoBehaviour:
|
||||
monoBehaviour.enabled = enabled.value;
|
||||
break;
|
||||
case Collider collider:
|
||||
collider.enabled = enabled.value;
|
||||
break;
|
||||
case Component component:
|
||||
component.GetType().GetProperty(nameof(BoxCollider.enabled),
|
||||
BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase
|
||||
).SetValue(behaviour.value, enabled.value);
|
||||
break;
|
||||
}
|
||||
EndAction();
|
||||
}
|
||||
|
||||
protected override string info
|
||||
{
|
||||
get
|
||||
{
|
||||
if(behaviour.isNoneOrNull || enabled.isNoneOrNull)
|
||||
return "Set Behaviour Enabled";
|
||||
var enabledStr = enabled.value ? "Enabled" : "Disabled";
|
||||
return $"Set {behaviour.name} {enabledStr}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user