37 lines
876 B
C#
37 lines
876 B
C#
using Polonium.MessageManager;
|
|
|
|
namespace Polonium.Agents;
|
|
|
|
public abstract partial class World : MessageBus
|
|
{
|
|
protected WorldModel Model { get; set; }
|
|
public Knowledge CommonKnowledge { get; set; }
|
|
|
|
|
|
public override void _Ready()
|
|
{
|
|
Model = GetNode<WorldModel>("WorldModel");
|
|
Model.WorldKnowledge.PostCode = "WorldKnowledge";
|
|
Register(Model.WorldKnowledge);
|
|
CommonKnowledge = GetNode<Knowledge>("CommonKnowledge");
|
|
CommonKnowledge.PostCode = "CommonKnowledge";
|
|
Register(CommonKnowledge);
|
|
base._Ready();
|
|
}
|
|
|
|
public void Register(Agent agent)
|
|
{
|
|
Register(agent.Knowledge);
|
|
}
|
|
|
|
public virtual void Enter()
|
|
{
|
|
PoloniumRegistry.Instance.CurrentWorld = this;
|
|
}
|
|
|
|
public virtual void Exit()
|
|
{
|
|
PoloniumRegistry.Instance.CurrentWorld = null;
|
|
}
|
|
|
|
} |