Add project files.

This commit is contained in:
Ankitkumar Satapara
2026-04-17 22:31:58 +05:30
commit 21aaef6776
473 changed files with 50152 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
using System.Threading.Tasks;
namespace Nodify.StateMachine
{
[BlackboardItem("Are Equal")]
public class AreEqualCondition : IBlackboardCondition
{
[BlackboardProperty(BlackboardKeyType.Object, CanChangeType = true)]
public BlackboardProperty Left { get; set; }
[BlackboardProperty(BlackboardKeyType.Object, CanChangeType = true)]
public BlackboardProperty Right { get; set; }
public Task<bool> Evaluate(Blackboard blackboard)
{
var left = blackboard.GetObject(Left);
var right = blackboard.GetObject(Right);
// TODO: Equality
return Task.FromResult(Equals(left, right));
}
}
}

View File

@@ -0,0 +1,23 @@
using System.Threading.Tasks;
namespace Nodify.StateMachine
{
[BlackboardItem("Has Key")]
public class HasKeyCondition : IBlackboardCondition
{
[BlackboardProperty("Key Name", BlackboardKeyType.String)]
public BlackboardProperty Key { get; set; }
public Task<bool> Evaluate(Blackboard blackboard)
{
var keyName = blackboard.GetObject<string>(Key);
if (keyName != null)
{
return Task.FromResult(blackboard.HasKey(keyName));
}
return Task.FromResult(false);
}
}
}

View File

@@ -0,0 +1,14 @@
using System.Threading.Tasks;
namespace Nodify.StateMachine
{
[BlackboardItem("Has Value")]
public class HasValueCondition : IBlackboardCondition
{
[BlackboardProperty(BlackboardKeyType.Object)]
public BlackboardKey Key { get; set; }
public Task<bool> Evaluate(Blackboard blackboard)
=> Task.FromResult(blackboard.GetObject(Key) != null);
}
}