37 lines
856 B
C#
37 lines
856 B
C#
using UnityEngine;
|
|
|
|
namespace Unity.VisualScripting
|
|
{
|
|
/// <summary>
|
|
/// Returns the current game object.
|
|
/// </summary>
|
|
[SpecialUnit]
|
|
[RenamedFrom("Bolt.Self")]
|
|
[RenamedFrom("Unity.VisualScripting.Self")]
|
|
public sealed class This : Unit
|
|
{
|
|
/// <summary>
|
|
/// The current game object.
|
|
/// </summary>
|
|
[DoNotSerialize]
|
|
[PortLabelHidden]
|
|
[PortLabel("This")]
|
|
public ValueOutput self { get; private set; }
|
|
|
|
protected override void Definition()
|
|
{
|
|
self = ValueOutput(nameof(self), Result).PredictableIf(IsPredictable);
|
|
}
|
|
|
|
private GameObject Result(Flow flow)
|
|
{
|
|
return flow.stack.self;
|
|
}
|
|
|
|
private bool IsPredictable(Flow flow)
|
|
{
|
|
return flow.stack.self != null;
|
|
}
|
|
}
|
|
}
|