using Godot; using Polonium.Interfaces; using Polonium.MessageManager; using Polonium.Resources.FramePatches; namespace Polonium.Agents; public abstract partial class Knowledge : Node, IMessageClient { public abstract void UpdateKnowledge(FramePatch update); public string PostCode { get; set; } public virtual void ReceiveMessage(PoloniumMessage msg) { if(msg is FramePatch update) UpdateKnowledge(update); } public event IMessageClient.MessageSentEventHandler MessageSent; public void SendMessage(PoloniumMessage msg) => MessageSent?.Invoke(msg); }