本文整理汇总了Java中com.badlogic.gdx.utils.ObjectIntMap类的典型用法代码示例。如果您正苦于以下问题:Java ObjectIntMap类的具体用法?Java ObjectIntMap怎么用?Java ObjectIntMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ObjectIntMap类属于com.badlogic.gdx.utils包,在下文中一共展示了ObjectIntMap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: write
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public void write (Kryo kryo, Output output, ObjectIntMap map) {
int length = map.size;
output.writeVarInt(length, true);
output.writeBoolean(false); // whether type is written (in case future version of ObjectIntMap supports type awareness)
Serializer keySerializer = null;
if (keyGenericType != null) {
if (keySerializer == null) keySerializer = kryo.getSerializer(keyGenericType);
keyGenericType = null;
}
for (Iterator iter = map.iterator(); iter.hasNext();) {
ObjectIntMap.Entry entry = (ObjectIntMap.Entry)iter.next();
if (keySerializer != null) {
kryo.writeObject(output, entry.key, keySerializer);
} else
kryo.writeClassAndObject(output, entry.key);
output.writeInt(entry.value);
}
}
示例2: calcResult
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
private IActionResult calcResult(Creature creature, Grid2D.Coordinate cell) {
Vector2 position = tmp.set(cell.x(), cell.y());
ObjectIntMap<Creature> targets = new ObjectIntMap<Creature>();
for (int i = cell.x() - MathUtils.ceil(radius); i <= cell.x() + radius; i++) {
for (int j = cell.y() - MathUtils.ceil(radius); j <= cell.y() + radius; j++) {
if (position.dst(i, j) <= radius) {
WorldObject object = creature.world.get(i, j);
if (object instanceof Creature
&& ((Creature) object).get(Attribute.canBeSelected)
&& !((Creature) object).get(Attribute.frozen)) {
targets.put((Creature) object, i == cell.x() && j == cell.y() ? epicenterTurns : turns);
}
}
}
}
return new IceStormResult(owner, creature, cell, targets);
}
示例3: read
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public ObjectIntMap read (Kryo kryo, Input input, Class<ObjectIntMap> type) {
int length = input.readVarInt(true);
input.readBoolean(); // currently unused
ObjectIntMap map = create(length);
Class keyClass = null;
Serializer keySerializer = null;
if (keyGenericType != null) {
keyClass = keyGenericType;
if (keySerializer == null) keySerializer = kryo.getSerializer(keyClass);
keyGenericType = null;
}
kryo.reference(map);
for (int i = 0; i < length; i++) {
Object key;
if (keySerializer != null) {
key = kryo.readObject(input, keyClass, keySerializer);
} else
key = kryo.readClassAndObject(input);
int value = input.readInt();
map.put(key, value);
}
return map;
}
示例4: fetchAttributes
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
private void fetchAttributes () throws Exception {
IntBuffer params = $getValue__params();
IntBuffer type = $getValue__type();
int program = $getValue__program();
ObjectIntMap<String> attributes = $getValue__attributes();
ObjectIntMap<String> attributeTypes = $getValue__attributeTypes();
ObjectIntMap<String> attributeSizes = $getValue__attributeSizes();
params.clear();
Gdx.gl20.glGetProgramiv(program, GL20.GL_ACTIVE_ATTRIBUTES, params);
int numAttributes = params.get(0);
String[] attributeNames = new String[numAttributes];
for (int i = 0; i < numAttributes; i++) {
params.clear();
params.put(0, 1);
type.clear();
String name = Gdx.gl20.glGetActiveAttrib(program, i, params, type);
int location = Gdx.gl20.glGetAttribLocation(program, name);
attributes.put(name, location);
attributeTypes.put(name, type.get(0));
attributeSizes.put(name, params.get(0));
attributeNames[i] = name;
}
$setValue_attributeNames(attributeNames);
}
示例5: fetchUniforms
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
private void fetchUniforms () throws Exception {
IntBuffer params = $getValue__params();
IntBuffer type = $getValue__type();
int program = $getValue__program();
ObjectIntMap<String> uniforms = $getValue__uniforms();
ObjectIntMap<String> uniformTypes = $getValue__uniformTypes();
ObjectIntMap<String> uniformSizes = $getValue__uniformSizes();
params.clear();
Gdx.gl20.glGetProgramiv(program, GL20.GL_ACTIVE_UNIFORMS, params);
int numUniforms = params.get(0);
String[] uniformNames = new String[numUniforms];
for (int i = 0; i < numUniforms; i++) {
params.clear();
params.put(0, 1);
type.clear();
String name = Gdx.gl20.glGetActiveUniform(program, i, params, type);
int location = Gdx.gl20.glGetUniformLocation(program, name);
uniforms.put(name, location);
uniformTypes.put(name, type.get(0));
uniformSizes.put(name, params.get(0));
uniformNames[i] = name;
}
$setValue_uniformNames(uniformNames);
}
示例6: if
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public com.badlogic.gdx.utils.ObjectIntMap $getValue__uniforms() throws Exception {
if($gen_uniforms == null) {
$gen_uniforms = com.badlogic.gdx.graphics.glutils.ShaderProgram.class.getDeclaredField("uniforms");
net.ncguy.argent.utils.ReflectionUtils.setCompletelyAccessible($gen_uniforms);
}
return (com.badlogic.gdx.utils.ObjectIntMap)$gen_uniforms.get(this);
}
示例7: LevelResult
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public LevelResult(ObjectIntMap<Die> addedExperience,
ObjectMap<Fraction, Player> players,
Player viewer) {
this.addedExperience = addedExperience;
this.players = players;
this.viewer = viewer;
}
示例8: visualize
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
@Override public IFuture<Void> visualize(final IceStormResult result) {
final Future<Void> future = new Future<Void>();
final ParticleActor particleActor = new ParticleActor("ability-" + result.ability.name).freeOnComplete();
particleActor.getColor().a = 0;
final Vector2 position = tmp.set(result.coordinate.x() + 0.5f, result.coordinate.y() + 0.5f).scl(ViewController.CELL_SIZE);
particleActor.setPosition(position.x, position.y + 160);
visualizer.viewController.effectLayer.addActor(particleActor);
SoundManager.instance.playSound("ability-fireball");
visualizer.viewController.scroller.centerOn(result.coordinate.x(), result.coordinate.y());
particleActor.addAction(alpha(1f, 0.5f));
particleActor.addAction(sequence(
moveTo(position.x, position.y, 1f),
run(new Runnable() {
@Override public void run() {
particleActor.effect.allowCompletion();
final ParticleActor hitActor = new ParticleActor("ability-" + result.ability.name + "-hit").freeOnComplete();
hitActor.setPosition(position.x, position.y);
visualizer.viewController.spawnLayer.addActor(hitActor);
SoundManager.instance.playSound("ability-freeze-hit");
visualizer.viewController.world.stage.addAction(Actions.delay(0.5f, Actions.run(future)));
if (result.targets.size == 0)
return;
for (ObjectIntMap.Entry<Creature> e : result.targets) {
showFreeze(e.key);
}
}
})
));
return future;
}
示例9: setPotions
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public void setPotions(ObjectIntMap<Ability> potionCount) {
potions.clear();
for (Ability potion : potionCount.keys()) {
int currentCount = potions.get(potion, 0);
int newCount = potionCount.get(potion, 0);
if (currentCount != newCount) {
potions.put(potion, newCount);
onPotionCountChanged.dispatch(potion);
}
}
}
示例10: canWithdraw
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public boolean canWithdraw(ObjectIntMap<Item> items) {
for (Item item : items.keys()) {
int count = items.get(item, 0);
if (count > this.items.get(item, 0))
return false;
}
return true;
}
示例11: potionsCount
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public int potionsCount() {
int r = 0;
ObjectIntMap.Values v = potions.values();
while (v.hasNext()) {
r += v.next();
}
return r;
}
示例12: itemsCount
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public int itemsCount(Item.Type type) {
int r = 0;
for (ObjectIntMap.Entry<Item> e : items.entries()) {
if (e.key.type == type) r += e.value;
}
return r;
}
示例13: Die
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
public Die(ProfessionDescription profession, String name, int exp, Array<Ability> abilities, ObjectIntMap<Ability> inventory) {
this.profession = profession;
this.name = name;
this.exp = exp;
this.abilities = abilities;
this.inventory = inventory;
Iterator<Ability> it = abilities.iterator();
while (it.hasNext()) {
Ability ability = it.next();
if (ability != null && !profession.ignoreRequirements && (!ability.requirement.isSatisfied(this))) {
inventory.getAndIncrement(ability, 0, 1);
it.remove();
}
}
int used = getUsedSkill();
int total = getTotalSkill();
if (used > total) {
System.out.print(name + " has skill overdraft, " + used + " > " + total + ", inventory = ");
}
while (abilities.size > 0 && getUsedSkill() > getTotalSkill()) {
Ability popped = abilities.pop();
if (popped != null) inventory.getAndIncrement(popped, 0, 1);
}
if (used > total)
System.out.println(inventory);
while (abilities.size < 6)
abilities.add(null);
}
示例14: calcResult
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
private IActionResult calcResult(Creature creature, Grid2D.Coordinate cell) {
Vector2 position = tmp.set(cell.x(), cell.y());
Array<Creature> underAttack = new Array<Creature>();
Array<Creature> killed = new Array<Creature>();
ObjectIntMap<Creature> expResults = new ObjectIntMap<Creature>();
for (int i = cell.x() - MathUtils.ceil(radius); i <= cell.x() + radius; i++) {
for (int j = cell.y() - MathUtils.ceil(radius); j <= cell.y() + radius; j++) {
if (position.dst(i, j) <= radius) {
WorldObject object = creature.world.get(i, j);
if (object instanceof Creature && ((Creature) object).get(Attribute.canBeSelected)) {
underAttack.add((Creature) object);
}
}
}
}
for (Creature c : underAttack) {
int attackLevel = (c.getX() == cell.x() && c.getY() == cell.y()) ? this.epicenterAttackLevel : this.attackLevel;
int defenceLevel = c.get(Attribute.defenceFor(attackType));
if (attackLevel > defenceLevel) {
killed.add(c);
if (creature.inRelation(Creature.CreatureRelation.enemy, c)) {
expResults.getAndIncrement(creature, 0, ExpHelper.expForKill(creature, c));
}
} else {
if (creature.inRelation(Creature.CreatureRelation.enemy, c)) {
expResults.put(c, ExpHelper.expForDefence(creature, c));
} else {
expResults.put(c, ExpHelper.MIN_EXP);
}
}
}
return new FirestormResult(creature, owner, underAttack, killed, expResults, cell);
}
示例15: calcResult
import com.badlogic.gdx.utils.ObjectIntMap; //导入依赖的package包/类
private IActionResult calcResult(Creature creature, Grid2D.Coordinate coordinate) {
ProfessionDescription profession = Config.professions.get(professionName);
Array<Ability> abilities = new Array<Ability>();
for (String abilityName : abilityNames) {
abilities.add(Config.abilities.get(abilityName));
}
Die die = new Die(profession, summonedName, 10000000, abilities, new ObjectIntMap<Ability>());
Creature summoned = new Creature(die, creature.player, creature.player.fraction + "@s-" + creature.player.nextSummonedId());
summoned.set(Attribute.canBeResurrected, Boolean.FALSE);
return new SummonResult(owner, creature, coordinate, summoned);
}