add: MessageBus
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user