void Update() { if (newEntities.Count > 0) { int num = newEntities.Count; for (int i = 0; i < num; ++i) { entities.Add(newEntities.Dequeue()); } } foreach (Entity entity in entities) { //Debug.Log("GameWorld.Update, tag:" + entity.identity.tag); inputSystem.Update(entity.inputComponent); aiSystem.Update(entity.identity, entity.aiComponent, entity.inputComponent); controllerSystem.Update(entity.tankComponent, entity.inputComponent, entity.moveComponent, entity.gameobjectComponent); gunSystem.Update(entity.gunComponent, entity.inputComponent, entity.gameobjectComponent); bulletSystem.Update(entity.identity, entity.bulletComponent, entity.moveComponent, entity.gameobjectComponent); buffSystem.Update(entity.buffComponent); moveSystem.Update(entity.moveComponent, entity.gameobjectComponent); } if (expiredEntities.Count > 0) { Entity entity = null; int num = expiredEntities.Count; for (int i = 0; i < num; ++i) { entity = expiredEntities.Dequeue(); entity.gameobjectComponent.Destroy(); entities.Remove(entity); } } }
public void Update() { mTankSystem.Update(); mBulletSystem.Update(); mStageSystem.Update(); }