当前位置: 首页>>代码示例>>Java>>正文


Java IntBag.size方法代码示例

本文整理汇总了Java中com.artemis.utils.IntBag.size方法的典型用法代码示例。如果您正苦于以下问题:Java IntBag.size方法的具体用法?Java IntBag.size怎么用?Java IntBag.size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.artemis.utils.IntBag的用法示例。


在下文中一共展示了IntBag.size方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: killCheapestUnit

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public void killCheapestUnit() {

        int productivity = 999;
        int cheapestId=-1;

        IntBag actives = subscription.getEntities();
        int[] ids = actives.getData();
        for (int i = 0, s = actives.size(); s > i; i++) {
            int entity = ids[i];
            Minion minion = mMinion.get(entity);
            if ( minion.productivity < productivity && !mSchedule.has(entity) )
            {
                productivity = minion.productivity;
                cheapestId = entity;
            }
        }

        if ( cheapestId != -1 )
        {
            explode(cheapestId);
        }
    }
 
开发者ID:DaanVanYperen,项目名称:odb-dynasty,代码行数:23,代码来源:MinionSystem.java

示例2: toggleHighlightedActors

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
/**
 * toggles highlighted state of actor that is on the same tile as the mouse is
 * over
 */
private boolean toggleHighlightedActors() {
	boolean toggled = false;
	@SuppressWarnings("unchecked")
	final EntitySubscription entitySubscription = GameEngine.getInstance().getAspectSubscriptionManager()
			.get(Aspect.all(PositionComponent.class, HighlightAbleComponent.class)
					.exclude(CursorComponent.class));
	final IntBag entities = entitySubscription.getEntities();
	PositionComponent positionComponent;
	HighlightAbleComponent highlight;
	for (int i = 0; i < entities.size(); i++) {
		positionComponent = ComponentMappers.getInstance().position.get(i);
		if (positionComponent.getX() == mouseOverX && positionComponent.getY() == mouseOverY) {
			highlight = ComponentMappers.getInstance().highlight.get(i);
			highlight.toggleHighlighted();
			toggled = true;
		}
	}
	return toggled;
}
 
开发者ID:davidbecker,项目名称:taloonerrl,代码行数:24,代码来源:InputSystem.java

示例3: processTurnTaken

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
/**
 * checks if all entities have their turn taken for the current turn
 *
 * @param _currentTurnSide
 */
private void processTurnTaken() {
	if (checkReadyToSwitchTurns()) {
		// reset turn components
		final IntBag entities = getAspectSubscriptionManager().get(Aspect.all(TurnComponent.class))
				.getEntities();
		TurnComponent turnComponent;
		for (int i = 0; i < entities.size(); i++) {
			turnComponent = ComponentMappers.getInstance().turn.get(entities.get(i));
			if (turnComponent.getMovesOnTurn() == currentTurnSide) {
				turnComponent.setTurnTaken(false);
				turnComponent.setProcessed(false);
			}
		}
		// switch sides
		currentTurnSide = currentTurnSide == ETurnType.PLAYER ? ETurnType.MONSTER : ETurnType.PLAYER;
		Gdx.app.debug("GameEngine", "switching turn sides to " + ETurnType.toString(currentTurnSide));
	}
}
 
开发者ID:davidbecker,项目名称:taloonerrl,代码行数:24,代码来源:GameEngine.java

示例4: display

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
@Override
public void display(final AsciiPanel terminal)
{
    final int playerId = pManager.getEntitiesOfPlayer("player").get(0).getId();

    terminal.clear(' ');

    drawHeader(terminal);

    final Inventory inv = mInventory.get(playerId);

    final ArrayList<String> elements = new ArrayList<>();
    final IntBag            items    = inv.items;
    for (int i = 0, size = items.size(); i < size; i++)
    {
        final int itemId = items.get(i);

        if (!canDraw(itemId))
            continue;

        elements
            .add(String.format("%s %s", mName.get(itemId).name.toLowerCase(), mEquip.has(itemId) ? " [WORN]" : ""));
    }

    drawList(terminal, elements);
}
 
开发者ID:fabio-t,项目名称:alone-rl,代码行数:27,代码来源:InventoryScreen.java

示例5: processSystem

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
@Override
protected void processSystem() {

    final IntBag entities = subscription.getEntities();

    final int processedPerSecond = (int) ((entities.size() / getRoundTripTime()));

    // Depending on subscription size invocation could potentially require less than
    // one invocation. Keep track of 'partial' invocations until we can invoke.
    entitiesToProcess += processedPerSecond * getWorldDelta();
    if (entitiesToProcess >= 1f) {
        processEntities((int) entitiesToProcess, entities.getData(), entities.size());

        // keep remainder.
        entitiesToProcess -= (int) entitiesToProcess;
    }
}
 
开发者ID:DaanVanYperen,项目名称:artemis-odb-contrib,代码行数:18,代码来源:SpreadProcessingSystem.java

示例6: processSystem

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
/**
 * Iterate over all entities.
 *
 * Stop when allotted time has passed.
 * Stop when all entities have been cycled.
 */
@Override
protected final void processSystem() {

	final IntBag actives = subscription.getEntities();
	final int[] array = actives.getData();

	final int size = actives.size();
	int processed = 0;
	if ( size > 0 ) {

		long time = getTime();
		final long deadline = time + (long) (getAllottedTime() * MILLISECONDS_PER_SECOND);

		index = index % size; // avoid breakage upon subscription changes.
		while ((processed < size) && (time < deadline)) {
			lastProcessedEntityId = array[index];
			process(lastProcessedEntityId);
			index = ++index % size;
			processed++;
			time = getTime();
		}
	}
	processedEntities = processed;
}
 
开发者ID:DaanVanYperen,项目名称:artemis-odb-contrib,代码行数:31,代码来源:TimeboxedProcessingSystem.java

示例7: reloadFonts

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public void reloadFonts (boolean reloadBmpFonts, boolean reloadTtfFonts) {
	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);

		VisText text = textCm.get(entity);
		VisAssetDescriptor asset = assetCm.get(entity).asset;

		if (asset instanceof BmpFontAsset && reloadBmpFonts)
			text.setFont(fontCache.get((BmpFontAsset) asset, pixelInUnits));

		if (asset instanceof TtfFontAsset && reloadTtfFonts)
			text.setFont(fontCache.get((TtfFontAsset) asset, pixelInUnits));
	}
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:19,代码来源:FontReloaderManager.java

示例8: reloadTextures

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public void reloadTextures () {
	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);

		VisSprite sprite = spriteCm.get(entity);
		VisAssetDescriptor asset = assetCm.get(entity).asset;

		boolean flipX = sprite.isFlipX();
		boolean flipY = sprite.isFlipY();
		sprite.setRegion(textureCache.getRegion(asset));
		sprite.setFlip(flipX, flipY);
	}
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:18,代码来源:TextureReloaderManager.java

示例9: reloadParticles

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public void reloadParticles () {
	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);

		VisParticle particle = particleCm.get(entity);
		VisAssetDescriptor asset = assetCm.get(entity).asset;

		particle.getEffect().dispose();

		particle.setEffect(particleCache.get(asset, 1f / pixelsPerUnit));
		transformCm.get(entity).setDirty(true);
	}
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:18,代码来源:ParticleReloaderManager.java

示例10: getEntitiesWithLayer

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public ImmutableBag<Entity> getEntitiesWithLayer (int layerId) {
	Bag<Entity> entities = new Bag<Entity>();

	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);
		Layer layer = layerCm.get(entity);

		if (layer.layerId == layerId)
			entities.add(entity);
	}

	return entities;
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:18,代码来源:LayerManipulator.java

示例11: swapLayers

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
/**
 * Swaps layers id in entities. This SHOULD NOT be used directly because it does not update internal layer structure
 * in {@link EditorScene}. Layers order is managed by {@link LayersDialog}
 */
public void swapLayers (int id1, int id2) {
	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);
		Layer layer = layerCm.get(entity);

		if (layer.layerId == id1) layer.layerId = id2;
		else if (layer.layerId == id2) layer.layerId = id1;
	}

	renderBatchingSystem.markDirty();
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:20,代码来源:LayerManipulator.java

示例12: reloadSpriterData

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
public void reloadSpriterData () {
	IntBag bag = subscription.getEntities();
	int[] data = bag.getData();

	for (int i = 0; i < bag.size(); i++) {
		int id = data[i];
		Entity entity = world.getEntity(id);

		VisSpriter spriter = spriterCm.get(entity);
		SpriterAsset asset = (SpriterAsset) assetCm.get(entity).asset;

		VisSpriter newSpriter = spriterCache.cloneComponent(asset, spriter);
		entity.edit().remove(spriter).add(newSpriter);
		transformCm.get(entity).setDirty(true);

		//we've replaced SpriterComponent in entity so proxy needs manual reloading
		entityProxyCache.get(entity).reload();
	}

	spriterCache.disposeOldLoaders();
}
 
开发者ID:kotcrab,项目名称:vis-editor,代码行数:22,代码来源:SpriterReloaderManager.java

示例13: processSystem

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
/**
 * Updates the {@link #stateTime}.
 */
@Override
protected void processSystem() {
    if (stateTime == Float.MAX_VALUE)
        stateTime = 0;
    stateTime += getWorld().getDelta();
    IntBag actives = subscription.getEntities();
    int[] ids = actives.getData();
    for (int i = 0, s = actives.size(); s > i; i++) {
        process(ids[i]);
    }
}
 
开发者ID:EtherWorks,项目名称:arcadelegends-gg,代码行数:15,代码来源:RenderSystem.java

示例14: hasDolphins

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
private boolean hasDolphins() {
    IntBag dudes = getDudes();

    int[] ids = dudes.getData();
    for (int i = 0, s = dudes.size(); s > i; i++) {
        E e = E.E(ids[i]);
        if (e.hasDolphinized()) return true;
    }
    return false;
}
 
开发者ID:DaanVanYperen,项目名称:odb-little-fortune-planet,代码行数:11,代码来源:AchievementSystem.java

示例15: hasNonDolphins

import com.artemis.utils.IntBag; //导入方法依赖的package包/类
private boolean hasNonDolphins() {
    IntBag dudes = getDudes();

    int[] ids = dudes.getData();
    for (int i = 0, s = dudes.size(); s > i; i++) {
        E e = E.E(ids[i]);
        if (!e.hasDolphinized()) return true;
    }
    return false;
}
 
开发者ID:DaanVanYperen,项目名称:odb-little-fortune-planet,代码行数:11,代码来源:AchievementSystem.java


注:本文中的com.artemis.utils.IntBag.size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。