Initial Unity project commit

This commit is contained in:
2026-07-08 19:53:15 +08:00
commit 75f254212e
15657 changed files with 11633879 additions and 0 deletions
@@ -0,0 +1,52 @@
using System.Collections.Generic;
using LLM.Facts;
using UnityEngine;
using UnityEngine.Events;
namespace LLM.Facts
{
public class FactsSequence : MonoBehaviour
{
[Header("References")]
[SerializeField] private ContextMemoryManager contextMemory;
[Header("Behavior")]
[SerializeField] private bool includeInactiveChildren = false;
[SerializeField] private bool saveGameAfterApply = true;
[SerializeField] private UnityEvent onApplied = new UnityEvent();
[SerializeField] private bool debugLogs = true;
public void Apply()
{
if (contextMemory == null)
{
contextMemory = FindObjectOfType<ContextMemoryManager>(true);
}
if (contextMemory == null)
{
if (debugLogs) Debug.LogWarning("[FactsSequence] ContextMemoryManager not found.", this);
return;
}
var nodes = GetComponentsInChildren<FactOperationBehaviour>(includeInactiveChildren);
if (nodes == null || nodes.Length == 0)
{
if (debugLogs) Debug.LogWarning("[FactsSequence] No FactOperationBehaviour found.", this);
return;
}
List<FactOperation> ops = new List<FactOperation>(nodes.Length);
for (int i = 0; i < nodes.Length; i++)
{
if (nodes[i] == null) continue;
ops.Add(nodes[i].ToOperation());
}
contextMemory.ApplyOperations(ops, saveGameAfterApply);
onApplied?.Invoke();
if (debugLogs) Debug.Log($"[FactsSequence] Applied operations={ops.Count} save={saveGameAfterApply}", this);
}
}
}