本文整理汇总了Java中com.artemis.utils.EntityBuilder类的典型用法代码示例。如果您正苦于以下问题:Java EntityBuilder类的具体用法?Java EntityBuilder怎么用?Java EntityBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EntityBuilder类属于com.artemis.utils包,在下文中一共展示了EntityBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createEntity_Projectile
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
public static Entity createEntity_Projectile(int levelID, float posX, float posY) {
EntityBuilder ent = getTemplate_Common(levelID, posX, posY);
EntityData data = new EntityData(EnumEntityType.PROJECTILE);
data.aiControlled = true;
data.sizeDiameter = Cst.COLLIDESIZE_PROJECTILE;
ProfileData profile = new ProfileData();
ent
.with(new Health(1))
.with(new RenderData("prj_energyblast"))
.with(data)
.with(profile)
.with(new ProjectileData())
;
Game_AI_TestBed.instance().getLevel(levelID).addToEntityCount(1);
return ent.build();
}
示例2: createIndestructible
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
public void createIndestructible(float x, float y, TextureAtlas tileTextureAtlas) {
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyDef.BodyType.StaticBody;
bodyDef.position.set(x, y);
Body body = b2dWorld.createBody(bodyDef);
PolygonShape polygonShape = new PolygonShape();
polygonShape.setAsBox(0.5f, 0.5f);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = polygonShape;
fixtureDef.filter.categoryBits = GameManager.INDESTRUCTIIBLE_BIT;
fixtureDef.filter.maskBits = GameManager.PLAYER_BIT | GameManager.ENEMY_BIT | GameManager.BOMB_BIT;
body.createFixture(fixtureDef);
polygonShape.dispose();
Renderer renderer = new Renderer(new TextureRegion(tileTextureAtlas.findRegion("indestructible"), 0, 0, 16, 16), 16 / GameManager.PPM, 16 / GameManager.PPM);
renderer.setOrigin(16 / GameManager.PPM / 2, 16 / GameManager.PPM / 2);
new EntityBuilder(world)
.with(
new Transform(x, y, 1f, 1f, 0),
renderer
)
.build();
}
示例3: spawnPointer
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
private void spawnPointer(int x, int y, int angle, Ingredient.Type type, boolean inverted) {
int i =angle+90;
vector2 = v2.set(0, -G.TILE_SIZE - 3).setAngle(i);
new EntityBuilder(world).with(
new Pos(x + 3 + vector2.x, y + 6 + vector2.y),
new Angle(i-90+(inverted?-180:0), 7, 5),
new Anim("pointer"),
new Color(1f,1f,1f,0.6f),
new Renderable(LAYER_CONVEYER + 1)
).build();
// for (i =0; i>-360; i--) {
vector2 = v2.set(-15, -G.TILE_SIZE + 4).setAngle(i);
final String id = "ingredient-" + type.name();
final Animation animation = abstractAssetSystem.get(id);
final TextureRegion region = animation.getKeyFrames()[0];
new EntityBuilder(world).with(
new Pos(x + vector2.x + 10 - region.getRegionWidth()/2, y + 10 + vector2.y - region.getRegionHeight()/2),
new Color(1f, 1f, 1f, 0.8f),
new Anim(id),
new Renderable(LAYER_CONVEYER + 2)
).build();
//}
}
示例4: initialize
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Override
protected void initialize() {
super.initialize();
OdbFeatureComponent features = new OdbFeatureComponent();
new EntityBuilder(world).with(features).tag(FEATURES_TAG).build();
// detect packing based on reflection.
features.isPacked = isPackedWeavingEnabled();
features.isPooled = isPooledWeavingEnabled();
features.isHotspotOptimization = isHotspotOptimizationEnabled();
features.isFactory = isFactoryCreationEnabled();
debugFeature("Struct Emulation ...... ", features.isPacked);
debugFeature("Pooling ............... ", features.isPooled);
debugFeature("Hotspot Optimization .. ", features.isHotspotOptimization);
debugFeature("Factory ............... ", features.isFactory);
}
示例5: createDraggingIndicator
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
private void createDraggingIndicator(Entity draggable) {
final Anim sourceAnim = mAnim.get(draggable);
final Pos sourcePos = mPos.get(draggable);
final Bounds sourceBounds = mBounds.get(draggable);
final Anim anim = new Anim();
anim.id = sourceAnim.id;
anim.speed = sourceAnim.speed;
anim.age = sourceAnim.age;
final Pos pos = new Pos();
pos.x = sourcePos.x;
pos.y = sourcePos.y;
NO_ANGLE = new Angle(0);
new EntityBuilder(world)
.with(new Dragging(draggable), new Renderable(GameScreenSetupSystem.LAYER_DRAGGING),
new Bounds(sourceBounds.minx, sourceBounds.miny, sourceBounds.maxx, sourceBounds.maxy),
anim, pos, new Angle(mAngle.getSafe(draggable, NO_ANGLE).rotation), new Color(1f, 1f, 1f, 0.5f)
).build();
}
示例6: createComponent
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
/**
* attempts to create a component at coordinates. will fail if out of bounds or already one there.
*/
public Entity createComponent(int gridX, int gridY, ShipComponent.Type type, ShipComponent.State state) {
if (gridY < 0 || gridX < 0 || gridX >= MAX_X || gridY >= MAX_Y) return null;
if (get(gridX, gridY) == null) {
Entity entity = new EntityBuilder(world).with(
new Pos(),
new Anim(),
new Renderable(),
new ShipComponent(type, gridX, gridY, ShipComponent.State.UNDER_CONSTRUCTION),
new Bounds(0, 0, 8, 8),
new Clickable()).build();
set(gridX, gridY, entity);
if (state == ShipComponent.State.CONSTRUCTED) {
constructionSystem.complete(entity);
}
return entity;
}
return null;
}
示例7: createConstructionButtons
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
private void createConstructionButtons() {
int index = 0;
for (ShipComponent.Type structure : ShipComponent.Type.values()) {
if (structure.buildable) {
int x = G.SCREEN_WIDTH + MARGIN_RIGHT - (index + 1) * 18;
int y = 7;
final Entity button = efs.createButton(x, y, 15, 15, "btn-construct", new ToolSelectButton(structure), null);
constructionButton.put(structure, button);
Button button1 = mButton.get(button);
button1.color = Color.WHITE;
button1.hint = structure.label;
button1.hideIfDisabled =true;
button1.transientIcon = new SafeEntityReference(new EntityBuilder(world).with(
new Pos(x + 4, y + 5),
new Anim(structure.animId),
new Renderable(4000)).build());
// add icon over button. @todo merge with button logic.
index++;
}
}
}
示例8: create
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Override public void create () {
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.setToOrtho(false);
camera.update();
renderer = new ShapeRenderer();
WorldConfiguration config = new WorldConfigurationBuilder()
.with(new GodSystem())
.with(new QuadTreeSystem())
.build();
config.register(camera).register(renderer);
world = new World(config);
for (int i = 0; i < 10000; i++) {
new EntityBuilder(world).with(
new Position(MathUtils.random(Gdx.graphics.getWidth() - 25), MathUtils.random(Gdx.graphics.getHeight() - 25)),
new Velocity(MathUtils.random(-50, 50), MathUtils.random(-50, 50)),
new Bounds(MathUtils.random(3, 15), MathUtils.random(3, 15))
).build();
}
}
示例9: DeferredSystem_EntityAdded_RegisteredWithPrincipal
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Test
public void DeferredSystem_EntityAdded_RegisteredWithPrincipal() {
EntityProcessPrincipal principal = mock(EntityProcessPrincipal.class);
final WorldConfiguration config = new WorldConfiguration();
config.setSystem(new TestDeferredSystem(Aspect.all(EmptyComponent.class), principal));
// setup world and single entity.
World w = new World(config);
Entity myEntity = new EntityBuilder(w).with(EmptyComponent.class).build();
w.process();
// ensure it gets registered with the principal
verify(principal, times(1)).registerAgent(eq(myEntity.getId()), any(EntityProcessAgent.class));
}
示例10: DeferredSystem_EntityRemoved_UnregisteredFromPrincipal
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Test
public void DeferredSystem_EntityRemoved_UnregisteredFromPrincipal() {
EntityProcessPrincipal principal = mock(EntityProcessPrincipal.class);
// setup world and single entity.
WorldConfiguration config = new WorldConfiguration();
config.setSystem(new TestDeferredSystem(Aspect.all(EmptyComponent.class), principal));
World w = new World(config);
Entity myEntity = new EntityBuilder(w).with(EmptyComponent.class).build();
w.process();
w.deleteEntity(myEntity);
w.process();
// ensure it gets registered with the principal
verify(principal, times(1)).unregisterAgent(eq(myEntity.getId()), any(EntityProcessAgent.class));
}
示例11: processDropPayload
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Override
public Entity processDropPayload (EntityEngine entityEngine, EditorScene scene, Object payload) {
if (payload instanceof SpriterAsset) {
SpriterAsset asset = (SpriterAsset) payload;
float scale = 1f / scene.pixelsPerUnit;
return new EntityBuilder(entityEngine)
.with(spriterCache.createComponent(asset, scale), new SpriterProperties(scale), new Transform(),
new AssetReference(asset),
new Renderable(0), new Layer(scene.getActiveLayerId()),
new ExporterDropsComponent(SpriterProperties.class))
.build();
}
return null;
}
示例12: processDropPayload
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
@Override
public Entity processDropPayload (EntityEngine engine, EditorScene scene, Object payload) {
if (payload instanceof SpineAssetDescriptor) {
SpineAssetDescriptor asset = (SpineAssetDescriptor) payload;
return new EntityBuilder(engine)
.with(new VisSpine(spineCache.get(asset)), new SpinePreview(), new SpineScale(1f / scene.pixelsPerUnit), new SpineBounds(),
new AssetReference(asset), new Transform(), new Tint(),
new Renderable(0), new Layer(scene.getActiveLayerId()),
new ExporterDropsComponent(SpinePreview.class, SpineScale.class, SpineBounds.class))
.build();
}
return null;
}
示例13: createEntity_Player
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
public static Entity createEntity_Player(int levelID, float posX, float posY) {
EntityBuilder ent = getTemplate_Common(levelID, posX, posY);
EntityData data = new EntityData(EnumEntityType.SPRITE);
data.aiControlled = false;
data.inputControlled = true;
data.setTeam(EntityData.TEAM_PLAYER);
data.sizeDiameter = Cst.COLLIDESIZE_SPRITE;
ProfileData profile = new ProfileData();
profile.addAction(new ActionRoutineDodge(3));
RenderData render = new RenderData("player");
WeaponData weaponData = new WeaponData();
WeaponLocation loc = new WeaponLocation();
Weapon weap = new Weapon();
weap.ticksCooldownRate = 3;
loc.listWeapons.add(weap);
weaponData.listWeaponLocations.add(loc);
ent
.with(new PlayerData())
.with(data)
.with(weaponData)
.with(profile)
.with(render)
;
Game_AI_TestBed.instance().getLevel(levelID).addToEntityCount(1);
return ent.build();
}
示例14: createEntity_NPC
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
public static Entity createEntity_NPC(int levelID, float posX, float posY) {
EntityBuilder ent = getTemplate_Common(levelID, posX, posY);
EntityData data = new EntityData(EnumEntityType.SPRITE);
data.aiControlled = true;
data.sizeDiameter = Cst.COLLIDESIZE_SPRITE;
ProfileData profile = new ProfileData();
WeaponData weaponData = new WeaponData();
WeaponLocation loc = new WeaponLocation();
Weapon weap = new Weapon();
loc.listWeapons.add(weap);
weaponData.listWeaponLocations.add(loc);
ent
.with(new Health(100))
.with(new RenderData())
.with(data)
.with(weaponData)
.with(profile)
;
Game_AI_TestBed.instance().getLevel(levelID).addToEntityCount(1);
return ent.build();
}
示例15: getTemplate_Common
import com.artemis.utils.EntityBuilder; //导入依赖的package包/类
public static EntityBuilder getTemplate_Common(int levelID, float posX, float posY) {
EntityBuilder ent = new EntityBuilder(Game_AI_TestBed.instance().getLevel(levelID).getWorld())
.with(new Position(posX, posY))
.with(new Velocity())
.with(new PhysicsData())
.with(new Health(100))
.with(new RenderData())
;
return ent;
}