本文整理汇总了C#中Entitas.Pool.GetEntities方法的典型用法代码示例。如果您正苦于以下问题:C# Pool.GetEntities方法的具体用法?C# Pool.GetEntities怎么用?C# Pool.GetEntities使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entitas.Pool
的用法示例。
在下文中一共展示了Pool.GetEntities方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ensures_same_deterministic_order_when_getting_entities_after_DestroyAllEntities
public void ensures_same_deterministic_order_when_getting_entities_after_DestroyAllEntities() {
var pool = new Pool(1);
const int numEntities = 10;
for (int i = 0; i < numEntities; i++) {
pool.CreateEntity();
}
var order1 = new int[numEntities];
var entities1 = pool.GetEntities();
for (int i = 0; i < numEntities; i++) {
order1[i] = entities1[i].creationIndex;
}
pool.DestroyAllEntities();
pool.ResetCreationIndex();
for (int i = 0; i < numEntities; i++) {
pool.CreateEntity();
}
var order2 = new int[numEntities];
var entities2 = pool.GetEntities();
for (int i = 0; i < numEntities; i++) {
order2[i] = entities2[i].creationIndex;
}
for (int i = 0; i < numEntities; i++) {
var index1 = order1[i];
var index2 = order2[i];
Assert.AreEqual(index1, index2);
}
}
示例2: moveSystem
static void moveSystem(Pool pool) {
var entities = pool.GetEntities(Matcher.AllOf(Matcher.Move, Matcher.Position));
foreach (var entity in entities) {
var move = entity.move;
var pos = entity.position;
entity.ReplacePosition(pos.x, pos.y + move.speed);
}
}
示例3: poolExample
static void poolExample()
{
// Total components is kindly generated for you by the code generator
var pool = new Pool(ComponentIds.TotalComponents);
var entity = pool.CreateEntity();
entity.isMovable = true;
// Returns all entities having MovableComponent and PositionComponent.
// Matchers are also generated for you.
var entities = pool.GetEntities(Matcher.AllOf(Matcher.Movable, Matcher.Position));
foreach (var e in entities) {
// do something
}
}