Add new feature.

Added ILogger;
Added IGraphProcessor;

Changed return type of OnExecute method in BaseNode from void to bool;
This commit is contained in:
Misaki
2024-11-03 02:09:19 +09:00
parent e645a5327b
commit 5a9d8b9420
20 changed files with 332 additions and 40 deletions

View File

@@ -0,0 +1,35 @@
using System.Collections.ObjectModel;
using UnityEngine;
namespace Misaki.GraphView.Sample
{
public class BackTraceGraphProcessor : IGraphProcessor
{
private bool _isRunning;
public bool IsRunning => _isRunning;
public void UpdateComputeOrder()
{
}
public void Execute(ReadOnlyCollection<BaseNode> nodes)
{
_isRunning = true;
nodes.ClearAllExecuteFlag();
foreach (var node in nodes)
{
if (node is OutputNode outputNode)
{
outputNode.Execute();
}
}
}
public void Break()
{
_isRunning = false;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 13065a6e26d040a4b3e73e1d66e6cf4f
timeCreated: 1730564245

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
namespace Misaki.GraphView.Sample
{
public class Logger : ILogger
{
private readonly List<string> _logs = new ();
public Action<BaseNode, string, LogType> OnLog { get; set; }
public void LogInfo(BaseNode node, string message)
{
_logs.Add($"Log Info from node {node.GetType().Name}: {message}");
OnLog?.Invoke(node, message, LogType.Info);
}
public void LogWarning(BaseNode node, string message)
{
_logs.Add($"Log Warning from node {node.GetType().Name}: {message}");
OnLog?.Invoke(node, message, LogType.Warning);
}
public void LogError(BaseNode node, string message)
{
_logs.Add($"Log Error from node {node.GetType().Name}: {message}");
OnLog?.Invoke(node, message, LogType.Error);
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: da3c5b7d66754f948efd7f895b5a4b21
timeCreated: 1730561133