Invoke Node: Difference between revisions
Tayfunwiki (talk | contribs) No edit summary |
Tayfunwiki (talk | contribs) No edit summary |
||
Line 20: | Line 20: | ||
[Scheme("Conspirator Level > 5")] | [Scheme("Conspirator Level > 5")] | ||
private IResult LevelGreaterThanFive() { | private IResult LevelGreaterThanFive(Scheme scheme) { | ||
LevelComponent levelComponent = scheme.Conspirator.GetComponent<LevelComponent>(); | LevelComponent levelComponent = scheme.Conspirator.GetComponent<LevelComponent>(); | ||
if (levelComponent != null) { | if (levelComponent != null) { |
Revision as of 02:11, 15 December 2023
Description
This node executes all methods of the IResult type that are marked with the [SchemeAttribute].
using UnityEngine;
namespace Nullframes.Intrigues.Demo
{
public class Demo_Methods : MonoBehaviour
{
[Scheme("Conspirator Level Up")]
private IResult LevelUp(Scheme scheme) {
LevelComponent levelComponent = scheme.Conspirator.GetComponent<LevelComponent>();
if (levelComponent != null) {
levelComponent.LevelUp();
return IResult.True; // Level is Up.
}
return IResult.Null; // LevelComponent not found.
}
[Scheme("Conspirator Level > 5")]
private IResult LevelGreaterThanFive(Scheme scheme) {
LevelComponent levelComponent = scheme.Conspirator.GetComponent<LevelComponent>();
if (levelComponent != null) {
if (levelComponent.Level > 5) {
return IResult.True; // Level greater than 5
}
return IResult.False; // Level lesser or equal than 5
}
return IResult.Null; // LevelComponent not found.
}
}
}
» The Invoke node runs the Method and continues the flow based on the returned value.