Artemis - EntityManager 的多个实例



我正在使用Artemis-odb框架在Java中编写游戏(https://github.com/junkdog/artemis-odb)。

我想实例化一些实体(例如,建筑物和人员/工人)。我还看到了框架的EntityManager类并尝试使用它。

这是我的问题:

  • 我不想有一个庞大的类来扩展 EntityManager 并拥有所有的"创建"方法,因为它将是一个糟糕的类 ->太多的代码行,没有自由性,没有感谢。
  • 我尝试创建扩展 EntityManager 的多个类,但是每个类都有其"nextId"值(它能够知道要提供给新实体的 id) ->我获得了具有相同 id 的多个实体。
  • 如果我创建多个类并且只引用一个实体管理器,则无法访问实体管理器的创建方法,因为此方法受到保护。
  • 我尝试的另一个解决方案是仅使用静态方法创建不同的类并引用 EntityManager。但是由于另一个原因,我的实体经理需要具有非静态方法(我省略了细节)。

您有任何可行的解决方案吗?目前没有太多关于这个框架的文档,所以它有点复杂!

谢谢

我回答我的问题,以防它对某人有用。

最后,我没有使用框架的类 EntityManager。 我为我需要的东西(建筑物、工人等)创建了几个实体管理器,并使它们从 BaseSystem 继承。 有了这个,我就可以感谢世界访问它们并做我想做的事。

最新更新