add: MessageBus

This commit is contained in:
h z
2025-03-03 11:08:25 +00:00
parent d2f0ab8153
commit 684763f0cc
15 changed files with 211 additions and 64 deletions

View File

@@ -1,12 +1,22 @@
using Godot;
using Polonium.Interfaces;
using Polonium.MessageManager;
using Polonium.Resources;
namespace Polonium.Agents;
public abstract partial class Knowledge : Node
public abstract partial class Knowledge : Node, IMessageClient
{
[Signal]
public delegate void KnowledgeUpdatedEventHandler(KnowledgePatch update);
public abstract void UpdateKnowledge(KnowledgePatch update);
public string PostCode { get; set; }
public virtual void ReceiveMessage(PoloniumMessage msg)
{
if(msg is KnowledgePatch update)
UpdateKnowledge(update);
}
public event IMessageClient.MessageSentEventHandler MessageSent;
public void SendMessage(PoloniumMessage msg) => MessageSent?.Invoke(msg);
}