Example usage for com.badlogic.gdx.utils ObjectMap ObjectMap

List of usage examples for com.badlogic.gdx.utils ObjectMap ObjectMap

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils ObjectMap ObjectMap.

Prototype

public ObjectMap() 

Source Link

Document

Creates a new map with an initial capacity of 32 and a load factor of 0.8.

Usage

From source file:com.badlogic.ashley.tests.utils.Timer.java

License:Apache License

public Timer() {
    times = new ObjectMap<String, Long>();
}

From source file:com.badlogic.gdx.ai.tests.BehaviorTreeViewer.java

License:Apache License

@Override
public void create() {
    step = 0;/*from w w w.  j av a  2 s .c  om*/
    taskNodes = new ObjectMap<Task<Dog>, TaskNode>();
    BehaviorTreeParser<Dog> parser = new BehaviorTreeParser<Dog>(BehaviorTreeParser.DEBUG_NONE);
    BehaviorTree<Dog> tree = parser.parse(Gdx.files.internal("data/dog.tree"), null);
    dog = new Dog("Dog 1", tree);
    tree.addListener(new BehaviorTree.Listener<Dog>() {
        @Override
        public void statusUpdated(Task<Dog> task, Task.Status previousStatus) {
            TaskNode tn = taskNodes.get(task);
            tn.updateStatus(previousStatus, step);
        }

        @Override
        public void childAdded(Task<Dog> task, int index) {
            TaskNode parentNode = taskNodes.get(task);
            Task<Dog> child = task.getChild(index);
            addToTree(displayTree, parentNode, child, null, 0);
            displayTree.expandAll();
        }
    });
    KryoUtils.initKryo();
    skin = new Skin(Gdx.files.internal("data/uiskin.json"));

    treeStatus = SUSPENDED;

    runDelaySlider = new Slider(0, 5, 0.01f, false, skin);
    runDelaySlider.setValue(.5f);

    runButton = new TextButton("Run", skin);

    stepButton = new TextButton("Step", skin);

    loadButton = new TextButton("Load", skin);
    loadButton.setDisabled(true);

    saveButton = new TextButton("Save", skin);

    stepLabel = new Label(new StringBuilder(LABEL_STEP + step), skin);

    stage = new Stage(new ScreenViewport());

    Table table = new Table();
    table.row().height(20).fillX();
    table.add(runDelaySlider);
    table.add(runButton);
    table.add(stepButton);
    table.add(saveButton);
    table.add(loadButton);
    table.add(stepLabel);
    table.row();
    displayTree = new Tree(skin);

    redrawTree();

    table.add(displayTree).colspan(3).fillX().fillY().expand(true, true);

    stage.addActor(table);
    table.setFillParent(true);

    saveButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            save();
            saved = true;
            loadButton.setDisabled(false);
        }
    });

    loadButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            load();
        }
    });

    stepButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            treeStatus = STEP; // step();
        }
    });

    runButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (treeStatus == SUSPENDED) {
                treeStatus = RUNNING;
                delay = runDelaySlider.getValue(); // this makes it start immediately
                runButton.setText("Suspend");
                stepButton.setDisabled(true);
                saveButton.setDisabled(true);
                loadButton.setDisabled(true);
            } else {
                treeStatus = SUSPENDED;
                runButton.setText("Run");
                stepButton.setDisabled(false);
                saveButton.setDisabled(false);
                loadButton.setDisabled(!saved);
            }
        }
    });

    Gdx.input.setInputProcessor(stage);

    setScreen(this);
}

From source file:com.badlogic.gdx.ai.tests.btree.BehaviorTreeViewer.java

License:Apache License

public BehaviorTreeViewer(BehaviorTree<E> tree, boolean loadAndSave, Skin skin) {
    super(skin);// ww w  .  j av  a2s  .c  om
    this.tree = tree;
    step = 0;
    taskNodes = new ObjectMap<Task<E>, TaskNode>();
    tree.addListener(new BehaviorTree.Listener<E>() {
        @Override
        public void statusUpdated(Task<E> task, Task.Status previousStatus) {
            TaskNode tn = taskNodes.get(task);
            if (tn != null)
                tn.updateStatus(previousStatus, step);
        }

        @Override
        public void childAdded(Task<E> task, int index) {
            TaskNode parentNode = taskNodes.get(task);
            Task<E> child = task.getChild(index);
            addToTree(displayTree, parentNode, child, null, 0);
            displayTree.expandAll();
        }
    });

    treeStatus = BT_SUSPENDED;

    runDelaySlider = new Slider(0, 5, 0.01f, false, skin);
    runDelaySlider.setValue(.5f);

    runButton = new TextButton("Run", skin);
    runButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            if (treeStatus == BT_SUSPENDED) {
                treeStatus = BT_RUNNING;
                runDelayAccumulator = runDelaySlider.getValue(); // this makes it start immediately
                runButton.setText("Suspend");
                stepButton.setDisabled(true);
                if (saveButton != null)
                    saveButton.setDisabled(true);
                if (loadButton != null)
                    loadButton.setDisabled(true);
            } else {
                treeStatus = BT_SUSPENDED;
                runButton.setText("Run");
                stepButton.setDisabled(false);
                if (saveButton != null)
                    saveButton.setDisabled(false);
                if (loadButton != null)
                    loadButton.setDisabled(!saved);
            }
        }
    });

    stepButton = new TextButton("Step", skin);
    stepButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            treeStatus = BT_STEP;
        }
    });

    resetButton = new TextButton("Reset", skin);
    resetButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            BehaviorTreeViewer.this.tree.reset();
            rebuildDisplayTree();
        }
    });

    if (loadAndSave) {
        loadButton = new TextButton("Load", skin);
        loadButton.setDisabled(true);
        loadButton.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                load();
            }
        });

        saveButton = new TextButton("Save", skin);
        saveButton.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {
                save();
                saved = true;
                loadButton.setDisabled(false);
            }
        });
    }

    stepLabel = new Label(new StringBuilder(LABEL_STEP + step), skin);

    this.row().height(26).fillX();
    this.add(runDelaySlider);
    this.add(runButton);
    this.add(stepButton);
    this.add(resetButton);
    if (loadAndSave) {
        this.add(saveButton);
        this.add(loadButton);
    }
    this.add(stepLabel);
    this.row();
    displayTree = new Tree(skin);

    rebuildDisplayTree();

    this.add(displayTree).colspan(5 + (loadAndSave ? 2 : 0)).grow();
}

From source file:com.badlogic.gdx.rube.test.SpriteRenderer.java

public SpriteRenderer() {
    sprites = new Array<RubeSprite>();
    polygonSprites = new Array<RubePolygonSprite>();
    textureMap = new ObjectMap<String, Texture>();
}

From source file:com.badlogic.gdx.tests.g3d.ShaderLoader.java

License:Apache License

protected ObjectMap<String, String> parse(final FileHandle file) {
    ObjectMap<String, String> result = new ObjectMap<String, String>();
    BufferedReader reader = file.reader(1024);
    String line;/* www.j  a va2 s  .  c  om*/
    String snipName = "";
    stringBuilder.setLength(0);
    int idx;
    try {
        while ((line = reader.readLine()) != null) {
            if (line.length() > 3 && line.charAt(0) == '[' && (idx = line.indexOf(']')) > 1) {
                if (snipName.length() > 0 || stringBuilder.length() > 0)
                    result.put(snipName, stringBuilder.toString());
                stringBuilder.setLength(0);
                snipName = line.substring(1, idx);
            } else
                stringBuilder.append(line.trim()).append("\r\n");
        }
    } catch (IOException e) {
        throw new GdxRuntimeException(e);
    }
    if (snipName.length() > 0 || stringBuilder.length() > 0)
        result.put(snipName, stringBuilder.toString());
    return result;
}

From source file:com.betmansmall.game.gameLogic.mapLoader.MapLoader.java

License:Apache License

/** Loads the {@link TiledMap} from the given file. The file is resolved via the {@link FileHandleResolver} set in the
 * constructor of this class. By default it will resolve to an internal file.
 * @param fileName the filename/*from  ww  w .  ja  va2 s  .co  m*/
 * @param parameters specifies whether to use y-up, generate mip maps etc.
 * @return the TiledMap */
public TiledMap load(String fileName, MapLoader.Parameters parameters) {
    try {
        this.convertObjectToTileSpace = parameters.convertObjectToTileSpace;
        this.flipY = parameters.flipY;
        FileHandle tmxFile = resolve(fileName);
        root = xml.parse(tmxFile);
        ObjectMap<String, Texture> textures = new ObjectMap<String, Texture>();
        Array<FileHandle> textureFiles = loadTilesets(root, tmxFile);
        textureFiles.addAll(loadImages(root, tmxFile));

        for (FileHandle textureFile : textureFiles) {
            Texture texture = new Texture(textureFile, parameters.generateMipMaps);
            texture.setFilter(parameters.textureMinFilter, parameters.textureMagFilter);
            textures.put(textureFile.path(), texture);
        }

        DirectImageResolver imageResolver = new DirectImageResolver(textures);
        TiledMap map = loadTilemap(root, tmxFile, imageResolver);
        map.setOwnedResources(textures.values().toArray());
        return map;
    } catch (IOException e) {
        throw new GdxRuntimeException("Couldn't load tilemap '" + fileName + "'", e);
    }
}

From source file:com.blindtigergames.werescrewed.graphics.TextureAtlas.java

License:Apache License

private void load(TextureAtlasData data) {
    ObjectMap<TextureAtlasData.Page, Texture> pageToTexture = new ObjectMap<TextureAtlasData.Page, Texture>();
    for (TextureAtlasData.Page page : data.pages) {
        this.collideOffsetX = page.collideOffsetX;
        this.collideOffsetY = page.collideOffsetY;
        Texture texture = null;// www . ja  v  a 2  s  .c o m
        if (page.texture == null) {
            texture = new Texture(page.textureFile, page.format, page.useMipMaps);
            texture.setFilter(page.minFilter, page.magFilter);
            texture.setWrap(page.uWrap, page.vWrap);
        } else {
            texture = page.texture;
            texture.setFilter(page.minFilter, page.magFilter);
            texture.setWrap(page.uWrap, page.vWrap);
        }
        textures.add(texture);
        pageToTexture.put(page, texture);
    }

    for (TextureAtlasData.Region region : data.regions) {
        int width = region.width;
        int height = region.height;
        AtlasRegion atlasRegion = new AtlasRegion(pageToTexture.get(region.page), region.left, region.top,
                region.rotate ? height : width, region.rotate ? width : height);
        atlasRegion.index = region.index;
        atlasRegion.name = region.name;
        atlasRegion.offsetX = region.offsetX;
        atlasRegion.offsetY = region.offsetY;
        atlasRegion.originalHeight = region.originalHeight;
        atlasRegion.originalWidth = region.originalWidth;
        atlasRegion.rotate = region.rotate;
        atlasRegion.splits = region.splits;
        atlasRegion.pads = region.pads;
        if (region.flip)
            atlasRegion.flip(false, true);
        regions.add(atlasRegion);
    }
}

From source file:com.dongbat.game.ability.types.SplitAndJoin.java

@Override
public void cast(World world, Entity caster, Vector2 target) {
    AbilityComponent playerAbilityList = EntityUtil.getComponent(world, caster, AbilityComponent.class);
    AbilityInfo info = playerAbilityList.getAbility("SplitAndJoin");
    if (info == null) {
        return;/*from www  .  j av  a 2  s .co  m*/
    }
    Vector2 position = PhysicsUtil.getPosition(world, caster);
    UnitMovement ms = EntityUtil.getComponent(world, caster, UnitMovement.class);
    Vector2 direction = ms.getDirectionVelocity();
    if (direction == null) {
        return;
    }
    float radius = PhysicsUtil.getRadius(world, caster);
    if (radius <= Constants.PHYSICS.MIN_RADIUS * 2) {
        return;
    }
    float newRadius = radius / 1.41f;

    //    BuffUtil.addBuff(world, caster, caster, "Forced", 1500, 1, "forceStrength", 100, "direction", direction.cpy().scl(-1));
    PhysicsUtil.setRadius(world, caster, newRadius);

    Entity bullet = UnitFactory.createProjectileUnit(world, caster,
            direction.cpy().nor().scl(radius + newRadius).add(position.cpy()), newRadius, true, true, true);
    ObjectMap<String, Object> args = new ObjectMap<String, Object>();
    //    Display display = EntityUtil.getComponent(world, caster, Display.class);
    //    TextureAtlas split = AssetUtil.getUnitAtlas().get("split");
    //    Animation animation = new Animation(0.075f, split.getRegions());
    //    animation.setPlayMode(Animation.PlayMode.LOOP);
    //    display.setGetOverridenStart(TimeUtil.getCurrentFrame(world));
    //    display.setOverridenDuration(1500);
    //    display.setOverridenAnimation(new AnimatedSprite(animation));

    //    args.put("forceStrength", 100);
    //    args.put("direction", direction.cpy().scl(1));
    //    BuffUtil.addBuff(world, caster, bullet, "DelayBuff", 0, 1, "buffName", "Forced", "duration", 3000, "args", args);
    BuffUtil.addBuff(world, caster, bullet, "Forced", 500, 1, "forceStrength", 20, "direction",
            direction.cpy().scl(1), "ignoreMass", true);

    args.put("feedPerSecond", 2f);
    BuffUtil.addBuff(world, caster, bullet, "DelayBuff", 1000, 1, "buffName", "Feed", "duration", -1, "args",
            args);
    BuffUtil.addBuff(world, bullet, bullet, "AttractFood", -1, 1);
    //    BuffUtil.addBuff(world, bullet, bullet, "Feed", -1, 1, "feedPerSecond", 0.55f);
}

From source file:com.dongbat.game.registry.AbilityRegistry.java

/**
 * Parse ability info from String that was loaded from load() function
 *
 * @param abilityString ability String need to parse
 *//* ww  w . j a v  a  2  s.c  om*/
private static void parseAbility(String abilityString) {
    String[] frags = abilityString.split("\\r?\\n");
    ObjectMap<String, String> common = new ObjectMap<String, String>();
    ObjectMap<Integer, ObjectMap<String, String>> levelMaps = new ObjectMap<Integer, ObjectMap<String, String>>();
    ObjectMap<String, String> abilityData;

    for (String frag : frags) {
        String[] split = frag.split(":");
        common.put(split[0].trim(), split[1].trim());
    }
    String name = common.remove("name");
    String clazz = common.remove("class");

    for (ObjectMap.Entry<String, String> entry : common.entries()) {
        String[] phongs = entry.value.split("\\|");
        abilityData = new ObjectMap<String, String>();
        for (String phong : phongs) {
            String[] minh = phong.split("=");
            abilityData.put(minh[0].trim(), minh[1].trim());
        }
        levelMaps.put(Integer.parseInt(entry.key.trim()), abilityData);
    }

    registry.put(name, new Entry(clazz, levelMaps));

}

From source file:com.dongbat.game.registry.BuffRegistry.java

/**
 * Parse buff info from String that was loaded from load() function
 *
 * @param buffString buff String need to parse
 *//*ww  w.  j  ava 2 s.c  o m*/
public static void parseBuffs(String buffString) {
    String[] lines = buffString.split("\\r?\\n");
    ObjectMap<String, String> common = new ObjectMap<String, String>();
    ObjectMap<Integer, ObjectMap<String, String>> levelMaps = new ObjectMap<Integer, ObjectMap<String, String>>();
    ObjectMap<String, String> buffData;

    for (String line : lines) {
        String[] split = line.split(":");
        common.put(split[0], split[1]);
    }
    String name = common.remove("name");
    String clazz = common.remove("class");

    for (ObjectMap.Entry<String, String> entry : common.entries()) {
        String[] phongs = entry.value.split("\\|");
        buffData = new ObjectMap<String, String>();
        for (String phong : phongs) {
            String[] minh = phong.split("=");
            buffData.put(minh[0].trim(), minh[1].trim());
        }
        levelMaps.put(Integer.parseInt(entry.key.trim()), buffData);
    }

    registry.put(name, new Entry(clazz, levelMaps));
}