Java 类com.badlogic.gdx.utils.ObjectMap 实例源码

项目:ProjektGG    文件:LoadingScreen.java   
private void onFinishedLoading() {
    BitmapFont main19Font = assetManager.get(MAIN_FONT_19_PATH());
    BitmapFont main22Font = assetManager.get(MAIN_FONT_22_PATH());
    BitmapFont letter20Font = assetManager.get(LETTER_FONT_20_PATH());
    BitmapFont handwritten20Font = assetManager
            .get(HANDWRITTEN_FONT_20_PATH());

    ObjectMap<String, Object> fontMap = new ObjectMap<String, Object>();
    fontMap.put("main-19", main19Font);
    fontMap.put("main-22", main22Font);
    fontMap.put("letter-20", letter20Font);
    fontMap.put("handwritten-20", handwritten20Font);
    assetManager.load(SKIN_PATH, Skin.class,
            new SkinLoader.SkinParameter(SKIN_TEXTURE_ATLAS_PATH, fontMap));
    assetManager.finishLoadingAsset(SKIN_PATH);

    // game.setUISkin(assetManager.get(SKIN_PATH));
    VisUI.load();
    game.setUISkin(VisUI.getSkin());

    // Notify loaded screens
    game.getScreen("serverBrowser").finishLoading();

    game.pushScreen("mainMenu");
}
项目:gdx-cclibs    文件:BatchableSorter.java   
/** Add a Batchable to the queue. */
public void add (T batchable) {
    if (batchable.isOpaque()) {
        for (ObjectMap.Entry<T, ObjectSet<T>> entry : opaqueBatchables) {
            if (batchable.hasEquivalentTextures(entry.key)) {
                entry.value.add((T)batchable);
                return;
            }
        }
        ObjectSet<T> set = objectSetPool.obtain();
        set.add(batchable);
        opaqueBatchables.put(batchable, set);
    } else {
        blendedBatchables.add(batchable);
    }
    needSort = true;
}
项目:bobbybird    文件:Core.java   
public void initManagers() {
    assetManager = new AssetManager(new LocalFileHandleResolver(), true);

    imagePacks = new ObjectMap<String, Array<String>>();
    for (String name : new String[] {"characters", "obstacles", "grounds", "clouds", "bushes", "buildings"}) {
        imagePacks.put(DATA_PATH + "/" + name, new Array<String>());
    }

    stateManager = new StateManager(this);
    stateManager.addState("loading", new LoadingState("menu", this));
    stateManager.addState("menu", new MenuState(this));
    stateManager.addState("game", new GameState(this));
    stateManager.addState("credits", new CreditsState(this));

    spriteBatch = new SpriteBatch();

    pixmapPacker = new PixmapPacker(1024, 1024, Pixmap.Format.RGBA8888, 5, true, new PixmapPacker.GuillotineStrategy());
}
项目:arcadelegends-gg    文件:RenderSystem.java   
public RenderSystem(DecalBatch decalBatch, AssetManager assetManager, float worldDegree, Assets.LevelAssets assets) {
    super(Aspect.all(RenderComponent.class, PositionComponent.class));
    this.levelAssets = assets;
    decalMap = new ObjectMap<>();
    uiMap = new ObjectMap<>();
    this.decalBatch = decalBatch;
    this.assetManager = assetManager;
    buffers = new ObjectMap<>();

    this.spriteBatch = new SpriteBatch();
    this.font = assets.uifont;
    font.setColor(Color.BLACK);
    this.uiCamera = new OrthographicCamera();

    Viewport viewportUi = new FitViewport(levelAssets.health_bar_gradient.getWidth(), levelAssets.health_bar_gradient.getHeight(), uiCamera);
    viewportUi.update(viewportUi.getScreenWidth(), viewportUi.getScreenHeight(), true);

    stateTime = 0;
    this.worldDegree = worldDegree;

    gradientShader = new ShaderProgram(Shaders.GradientShader.vertexShader, Shaders.GradientShader.fragmentShader);
    if (gradientShader.isCompiled() == false)
        throw new IllegalArgumentException("couldn't compile shader: " + gradientShader.getLog());
    shaderBatch = new SpriteBatch(10, gradientShader);
}
项目:KyperBox    文件:GameState.java   
public GameState(String name, String tmx, StateManager manager) {
    this.tmx = tmx;
    setManager(manager);
    if(name!=null)
    this.name = name;
    else
        this.name = "";
    sprites = new ObjectMap<String, Sprite>();
    animations = new ObjectMap<String, Animation<String>>();
    fonts = new ObjectMap<String, BitmapFont>(); //TODO: test load to avoid repeats
    particle_effects = new ObjectMap<String, ParticleEffectPool>();
    pvalues = new Array<String>();
    time_scale = 1f;
    shaders = new ObjectMap<String, ShaderProgram>();
    svalues = new Array<String>();
}
项目:KyperBox    文件:TiledObjectTypes.java   
public TiledObjectTypes(String file) {
    xml_reader = new XmlReader();
    try {
        root = xml_reader.parse(Gdx.files.internal(file));
    } catch (IOException e) {
        e.printStackTrace();
    }
    types = new ObjectMap<String, TiledObjectTypes.TiledObjectType>();

    if(root == null)
        throw new GdxRuntimeException(String.format("Unable to parse file %s. make sure it is the correct path.", file));
    Array<Element> types = root.getChildrenByName("objecttype");
    for (Element element : types) {
        TiledObjectType tot = new TiledObjectType(element.get("name"));
        Array<Element> properties  = element.getChildrenByName("property");
        for (int i = 0; i < properties.size; i++) {
            Element element2 = properties.get(i);
            TypeProperty property = new TypeProperty(element2.get("name"), element2.get("type"), element2.hasAttribute("default")?element2.get("default"):"");
            tot.addProperty(property);
        }
        this.types.put(tot.name, tot);
    }

}
项目:JavityEngine    文件:JXmlUi.java   
private void addScrollPanel(Table table, Element element) {
    Table tableScroll = new Table(skin);
    ScrollPane scrollPane = new ScrollPane(tableScroll, skin);

    Cell<ScrollPane> cell = table.add(scrollPane);
    ObjectMap<String, String> atrributes = element.getAttributes();
    if (atrributes == null) {
        atrributes = new ObjectMap<String, String>();
    }

    for (String key : atrributes.keys()) {
        if (key.equalsIgnoreCase("name")) {
            tableScroll.setName(atrributes.get(key));
        }
    }
    cellPrepare(cell, atrributes);
    addChildrens(element, tableScroll);

    actorsMap.put(tableScroll.getName(), tableScroll);
}
项目:fabulae    文件:Formation.java   
private void recalculateFormation(ObjectMap<Integer, Tile> formationToRecalculate, int rotationDegrees) {
    for (Integer i : formation.keys()) {
        Tile formationPosition = formationToRecalculate.get(i);
        if (formationPosition == null) {
            formationPosition = new Tile();
            formationToRecalculate.put(i, formationPosition);
        }
        formationPosition.set(formation.get(i));
        // we only rotate in multiplies of 45
        // first we do as many 90 degrees rotations as needed
        // and then do the final 45 rotation if required
        int rotAmount = rotationDegrees / 90;
        for (int j = 0; j < rotAmount; ++j) {
            formationPosition.rotate90CW();
        }
        if (rotationDegrees % 90 == 45) {
            rotateTile45CW(formationPosition);
        }
    }
}
项目:JavityEngine    文件:JXmlUi.java   
private void addList(Table table, Element element) {
    Gdx.app.log("JXmlUi", "addList");
    ObjectMap<String, String> atrributes = element.getAttributes();
    if (atrributes == null)
        atrributes = new ObjectMap<String, String>();

    List<String> list = new List<String>(skin);
    list.getSelection().setMultiple(false);

    ScrollPane scrollPane = new ScrollPane(list, skin);

    Cell<ScrollPane> cell = table.add(scrollPane);
    for (String key : atrributes.keys()) {
        if (key.equalsIgnoreCase("name")) {
            list.setName(atrributes.get(key));
            scrollPane.setName(atrributes.get(key) + "-scroll-panel");
        }
    }
    cellPrepare(cell, atrributes);

    actorsMap.put(list.getName(), list);
    actorsMap.put(scrollPane.getName(), scrollPane);

    addElementsInList(element, list);
}
项目:fabulae    文件:DialogueItem.java   
public String getText(ObjectMap<String, String> parameters) {
    if (parameters == null) {
        parameters = new ObjectMap<String, String>();
    }

    if (dialogue.getPCAtDialogue() != null) {
        parameters.put(SPECIAL_PCNAME, dialogue.getPCAtDialogue().getName());
        parameters.put(SPECIAL_PC_PRONOUN, dialogue.getPCAtDialogue().stats().getGender().getPronoun().toLowerCase(Locale.ENGLISH));
        parameters.put(SPECIAL_PC_POSSESIVE_PRONOUN, dialogue.getPCAtDialogue().stats().getGender().getPossesivePronoun().toLowerCase(Locale.ENGLISH));
        parameters.put(SPECIAL_PC_OBJECT_PRONOUN, dialogue.getPCAtDialogue().stats().getGender().getObjectPronoun().toLowerCase(Locale.ENGLISH));
    }

    if (dialogue.getNPCAtDialogue() != null) {
        parameters.put(SPECIAL_NPCNAME, dialogue.getNPCAtDialogue().getName());
        parameters.put(SPECIAL_NPC_PRONOUN, dialogue.getNPCAtDialogue().stats().getGender().getPronoun().toLowerCase(Locale.ENGLISH));
        parameters.put(SPECIAL_NPC_POSSESIVE_PRONOUN, dialogue.getNPCAtDialogue().stats().getGender().getPossesivePronoun().toLowerCase(Locale.ENGLISH));
        parameters.put(SPECIAL_NPC_OBJECT_PRONOUN, dialogue.getNPCAtDialogue().stats().getGender().getObjectPronoun().toLowerCase(Locale.ENGLISH));
    }

    String returnValue = StringUtil.replaceParameters(Strings.getString(text), parameters);
    returnValue = StringUtil.replaceCharacterNames(returnValue);
    return returnValue;
}
项目:cgc-game    文件:SoundManager.java   
private static void setOverallVolume(float volume)
{
    overallVolume = Math.max(volume, 0);
    overallVolume = Math.min(volume, 1);

    if(curSong != null)
        curSong.setVolume(overallVolume * musicVolume);

    ObjectMap.Entries<String, SoundEffect> s = sounds.entries();

    while(s.hasNext)
    {
        s.next().value.sVolume(overallVolume * effectsVolume);
    }

}
项目:cgc-game    文件:SoundManager.java   
public static void endGame()
{
    //Stop the music
    if(curSong != null)
    {
        curSong.stop();
        curSong.dispose();
    }

    //Dispose of all Sound Effects
    ObjectMap.Entries<String, SoundEffect> s = sounds.entries();

    while(s.hasNext)
    {
        SoundEffect se = s.next().value;
        se.stop();
        se.dispose();
    }

    screams = new Array<String>();
}
项目:dice-heroes    文件:ThesaurusLoader.java   
@Override public void loadAsync(AssetManager manager, String fileName, FileHandle file, ThesaurusLoader.ThesaurusParameter parameter) {
    Constructor constructor = new Constructor(ThesaurusData.class);
    Yaml yaml = new Yaml(constructor);
    ObjectMap<String, ThesaurusData> data = new ObjectMap<String, ThesaurusData>();
    for (Object o : yaml.loadAll(resolve(fileName).read())) {
        ThesaurusData description = (ThesaurusData) o;
        data.put(description.key, description);
    }
    if (parameter != null && parameter.other.length > 0) {
        for (String depName : parameter.other) {
            Thesaurus dep = manager.get(depName);
            data.putAll(dep.data);
        }
    }
    thesaurus = new Thesaurus(data);
}
项目:Undertailor    文件:WorldRoom.java   
public WorldRoom(Tilemap map) {
    this.destroyed = false;
    this.prepared = false;
    this.events = new EventHelper(this);
    this.bodyQueue = new ObjectSet<>();
    this.entrypointQueue = new ObjectSet<>();

    this.tilemap = map;
    this.controller = null;
    this.obj = new ObjectSet<>();
    this.entrypoints = new ObjectMap<>();
    this.opacityMapping = new IntFloatMap();
    this.collisionLayers = new ObjectMap<>();
    this.renderOrder = new Array<>(true, 16);
    this.disabledCollision = new ObjectSet<>();
}
项目:Undertailor    文件:TextStyleManager.java   
/**
 * Loads {@link TextStyle} Lua implementations found
 * within the given root directory and its subfolders
 * into this {@link TextStyleManager}.
 * 
 * @param rootDirectory the root directory to search in
 */
public void loadStyles(File rootDirectory) {
    ObjectMap<String, File> files = FileUtil.loadWithIdentifiers(rootDirectory, file -> {
        return file.getName().endsWith(".lua");
    });

    files.keys().forEach(key -> {
        File scriptFile = files.get(key);
        try {
            this.styles.put(key, new LuaTextStyle(scripts, scriptFile, key));
        } catch (Exception e) {
            String message = "Could not load style at script file " + scriptFile.getAbsolutePath();
            if(e instanceof FileNotFoundException) message += " (file not found)";
            if(e instanceof LuaScriptException) message += " (implementation error)";
            log.error(message, e);
        }
    });

    log.info(this.styles.size + " style(s) loaded.");
}
项目:fabulae    文件:AnimationMap.java   
public AnimationMap(AnimationMap<T> toCopy) {
    this.animationInfoMap = new ObjectMap<Integer, Array<AnimationDescription>>();

    for (Entry<Integer, Array<AnimationDescription>> entry : toCopy.animationInfoMap.entries()) {
        Array<AnimationDescription> descriptions = new Array<AnimationDescription>();
        animationInfoMap.put(entry.key, descriptions);
        for (AnimationDescription description : entry.value) {
            descriptions.add(description);
        }
    }

    frameWidth = toCopy.frameWidth;
    frameHeight = toCopy.frameHeight;
    frameDuration = toCopy.frameDuration;
    animationTexturePath = toCopy.animationTexturePath;
    middleOffsets = new ObjectMap<T, Vector2>(toCopy.middleOffsets);
    middleOffset = toCopy.middleOffset;
    objectWidth = toCopy.objectWidth;
    objectHeight = toCopy.objectHeight;
}
项目:fabulae    文件:CrimeManager.java   
/**
 * This will spread information about crimes known to fromFaction but
 * unknown to toFaction from the one to the other.
 * 
 * @param fromFaction
 * @param toFaction
 */
public void spreadCrimeInfo(Faction fromFaction, Faction toFaction) {
    Array<Crime<?>> crimesKnownToFromFaction = trackedCrimes.get(fromFaction);

    if (crimesKnownToFromFaction == null) {
        return;
    }

    ObjectMap<Faction, Integer> penalties = new ObjectMap<Faction, Integer>();
    for (Crime<?> crime : crimesKnownToFromFaction) {
        if (addCrime(crime, toFaction)) {
            Faction perpFaction = crime.getPerpetrator().getFaction(); 
            int penalty = crime.getDispositionPenalty()/2;
            if (penalties.containsKey(perpFaction)) {
                penalties.put(perpFaction, penalties.get(perpFaction)+penalty);
            } else {
                penalties.put(perpFaction, penalty);
            }
        }
    }
    for (Entry<Faction, Integer> entry : penalties.entries()) { 
        toFaction.modifyDisposition(entry.key, -entry.value);
    }
}
项目:dice-heroes    文件:ServerMessageListener.java   
private void initMatch(PvpPlayState state) {
    Logger.debug("server: init match "+this.state.session.getMode().name);
    PvpMode mode = this.state.session.getMode();
    LevelDescription level = mode.levels.random();
    String levelName = level.name;
    Array<Fraction> fractions = new Array<Fraction>(level.fractions.size);
    for (Fraction fraction : level.fractions) {
        fractions.add(fraction);
    }
    Array<String> ids = this.state.session.getAll().keys().toArray();
    ids.shuffle();
    ObjectMap<String, String> fMap = new ObjectMap<String, String>();
    for (int i = 0; i < ids.size; i++) {
        fMap.put(ids.get(i), fractions.get(i).name);
    }
    int seed = MathUtils.random.nextInt();
    awaitSpawning(state);
    sendToAll(new Init(levelName, fMap, seed));
}
项目:fabulae    文件:CrimeManager.java   
@Override
public void loadFromXML(Element root) throws IOException {
    ObjectMap<String, Crime<?>> savedCrimes = new ObjectMap<String, Crime<?>>();
    Element crimesElement = root.getChildByName(XML_CRIMES);
    for (int i = 0; i < crimesElement.getChildCount(); ++i) {
        Crime<?> crime = Crime.readCrime(crimesElement.getChild(i));
        savedCrimes.put(crime.getId(), crime);
    }

    Element factionsElement = root.getChildByName(XML_FACTIONS);
    for (int i = 0; i < factionsElement.getChildCount(); ++i) {
        Element factionElement = factionsElement.getChild(i);
        Faction faction = Faction.getFaction(factionElement.getName());
        for (int j = 0; j < factionElement.getChildCount(); ++j) {
            addCrime(savedCrimes.get(factionElement.getChild(j).getText()), faction);
        }
    }
}
项目:Undertailor    文件:SpriteSheetManager.java   
/**
 * Loads spritesheets found within the given root
 * directory and its subfolders into this
 * {@link SpriteSheetManager}.
 * 
 * @param rootDirectory the root directory to search in
 */
public void loadSpriteSheets(File rootDirectory) {
    log.info("Loading spritesheet assets from directory " + rootDirectory.getAbsolutePath());
    ObjectMap<String, File> files = FileUtil.loadWithIdentifiers(rootDirectory, file -> {
        return file.getName().endsWith(".spritesheet");
    });

    for (String key : files.keys()) {
        File targetFile = files.get(key);
        try {
            this.sheets.put(key,
                new PackagedSpriteSheetFactory(key, renderer, new ZipFile(targetFile)));
            log.info(
                "Loaded packaged spritesheet " + targetFile.getName() + " under key " + key);
        } catch (Exception e) {
            String message = "Could not load spritesheet at spritesheet file "
                + targetFile.getAbsolutePath();
            if (e instanceof ZipException)
                message += " (bad spritesheet file/format)";
            log.error(message, e);
        }
    }

    log.info(this.sheets.size + " spritesheet(s) loaded.");
}
项目:fabulae    文件:Effect.java   
/**
 * Gets the effects of this Perk as a human
 * readable string.
 * 
 * This does not include any modifiers
 * associated with this Perk.
 * 
 * @return null if there are no associated effects, the string otherwise
 */
public static String getEffectsAsString(EffectContainer ec, Object user) {
    ObjectMap<Effect, Array<EffectParameter>> effects = ec.getEffects();
    if (effects.size == 0) {
        return null;
    }
    StringBuilder fsb = StringUtil.getFSB();
    int i = 0;
    for (Effect effect : effects.keys()) {
        String desc = effect.getDescription(user, effects.get(effect));
        if (desc == null) {
            continue;
        }
        if (i > 0) {
            fsb.append("\n");
        }
        fsb.append(desc);
        ++i;
    }
    String returnValue = fsb.toString();
    StringUtil.freeFSB(fsb);
    return returnValue;
}
项目:fabulae    文件:PCTalk.java   
public String getText(ObjectMap<String, String> parameters) {
    String text = null;

    if (getDialogue().getPCAtDialogue() != null) {
        text = roleSpecificTexts.get(getDialogue().getPCAtDialogue().getRole().getId());
    }
    if (text == null) {
        text = roleSpecificTexts.get(ROLE_DEFAULT);
    }

    if (text == null) {
        text = "";
    }

    super.setText(text);

    return super.getText(parameters);
}
项目:Undertailor    文件:AudioManager.java   
public AudioManager(Undertailor undertailor) {
    if (!AudioManager.audioReplaced) {
        log.info("Manager will now try to replace the audio system.");
        if (!LwjglApplicationConfiguration.disableAudio) {
            try {
                ((com.badlogic.gdx.backends.lwjgl.audio.OpenALAudio) Gdx.audio).dispose();

                LwjglApplicationConfiguration config =
                    undertailor.getApplicationConfiguration();
                Gdx.audio = new OpenALAudio(config.audioDeviceSimultaneousSources,
                    config.audioDeviceBufferCount, config.audioDeviceBufferSize);

                AudioManager.audioReplaced = true;
                log.info("Success.");
            } catch (Throwable t) {
                log.error("Failed.", t);
            }
        }
    }

    this.masterVolume = new BoundedFloat(0.0F, 1.0F, 1.0F);
    this.musicVolume = new BoundedFloat(0.0F, 1.0F, 1.0F);
    this.soundVolume = new BoundedFloat(0.0F, 1.0F, 1.0F);
    this.sounds = new ObjectMap<>();
    this.music = new ObjectMap<>();
}
项目:Quilly-s-Castle    文件:ProfileManager.java   
public void loadProfile(String profile) {
final String fileName = profile + SAVE_GAME_SUFFIX;

if (!Gdx.files.internal(fileName).exists()) {
    Gdx.app.debug(TAG, "Trying to load non-existing profile: " + profile);
    return;
}

currentProfileName = profile;
Gdx.app.debug(TAG, "Loading profile " + currentProfileName + " ...");

ObjectMap<?, ?> loadedProperties = Utils.fromJson(ObjectMap.class, profiles.get(currentProfileName));

profileProperties.clear();

for (Entry<?, ?> entry : loadedProperties.entries()) {
    profileProperties.put((String) entry.key, entry.value);
}

fireLoad(this);
Gdx.app.debug(TAG, "Loading profile successful!");
   }
项目:RavTech    文件:RavInput.java   
@SuppressWarnings("unchecked")
public void reload () {
    RavTech.files.loadAsset("keybindings.json", String.class);
    RavTech.files.finishLoading();

    if ((!RavTech.settings.has("keybindings")))
        RavTech.settings.setValue("keybindings", RavTech.files.getAsset("keybindings.json", String.class));
    this.actionMaps.clear();
    Json json = new Json();

    ObjectMap<String, JsonValue> serializedActionMaps = json.fromJson(ObjectMap.class,
        RavTech.settings.getString("keybindings"));
    for (ObjectMap.Entry<String, JsonValue> entry : serializedActionMaps.entries()) {
        ActionMap actionMap = new ActionMap();
        actionMap.read(json, entry.value);
        this.actionMaps.put(entry.key, actionMap);
    }
    this.actionMaps.putAll(actionMaps);

    this.players.clear();
    Player player = new Player();
    for (int i = 0; i < inputDevices.size; i++)
        player.assignDevice(inputDevices.get(i), this.getActionMapForDevice(inputDevices.get(i)));
    players.add(player);
}
项目:dice-heroes    文件:ClientMessageListener.java   
@Override protected void init(final PvpPlayState state) {
    Logger.debug("client: wait for server to init");
    register(Init.class, new IMessageProcessor<Init>() {
        @Override public void receive(IParticipant from, Init message) {
            if (message.version > Config.mobileApi.getVersionCode()) {
                sendToWithCallback(state.server, new UpdateNeeded()).addListener(new IFutureListener<Boolean>() {
                    @Override public void onHappened(Boolean aBoolean) {
                        session.disconnect(false, Config.thesaurus.localize("disconnect-server-needs-update"));
                    }
                });
                return;
            } else if (message.version < Config.mobileApi.getVersionCode()) {
                session.disconnect(false, Config.thesaurus.localize("disconnect-update-needed"));
                return;
            }
            LevelDescription level = (LevelDescription) Config.levels.get(message.level);
            ObjectMap<IParticipant, Fraction> fractions = new ObjectMap<IParticipant, Fraction>();
            for (ObjectMap.Entry<String, String> e : message.fractions.entries()) {
                fractions.put(ClientMessageListener.this.state.session.getAll().get(e.key), Fraction.valueOf(e.value));
            }
            ClientMessageListener.this.state.prepare(level, fractions, message.seed);
            unregister(Init.class);
            awaitSpawns(state);
        }
    });
}
项目:libgdx-crypt-texture    文件:CryptTextureAtlas.java   
private void load(TextureAtlasData data) {
    ObjectMap<TextureAtlasData.Page, Texture> pageToTexture = new ObjectMap<TextureAtlasData.Page, Texture>();
    for (TextureAtlasData.Page page : data.getPages()) {
        Texture texture = TextureDecryptor.loadTexture(crypto, page.textureFile, page.format, page.useMipMaps);
        texture.setFilter(page.minFilter, page.magFilter);
        texture.setWrap(page.uWrap, page.vWrap);
        getTextures().add(texture);
        pageToTexture.put(page, texture);
    }

    // Same as libGDX source
    for (TextureAtlasData.Region region : data.getRegions()) {
        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);
        getRegions().add(atlasRegion);
    }
}
项目:typing-label    文件:TypingLabel.java   
/** Registers a set of variables and their respective replacement values to this label. */
public void setVariables (ObjectMap<String, String> variableMap) {
    this.variables.clear();
    for (Entry<String, String> entry : variableMap.entries()) {
        this.variables.put(entry.key.toUpperCase(), entry.value);
    }
}
项目:gdx-cclibs    文件:ObjectMapSerializer.java   
public void write (Kryo kryo, Output output, T map) {
    int length = map.size;
    output.writeVarInt(length, true);
    output.writeBoolean(false); // whether type is written (in case future version of ObjectMap supports type awareness)

    Serializer keySerializer = null;
    if (keyGenericType != null) {
        if (keySerializer == null) keySerializer = kryo.getSerializer(keyGenericType);
        keyGenericType = null;
    }
    Serializer valueSerializer = null;
    if (valueGenericType != null) {
        if (valueSerializer == null) valueSerializer = kryo.getSerializer(valueGenericType);
        valueGenericType = null;
    }

    for (Iterator iter = map.iterator(); iter.hasNext();) {
        ObjectMap.Entry entry = (ObjectMap.Entry)iter.next();
        if (keySerializer != null) {
            kryo.writeObject(output, entry.key, keySerializer);
        } else
            kryo.writeClassAndObject(output, entry.key);
        if (valueSerializer != null) {
            kryo.writeObjectOrNull(output, entry.value, valueSerializer);
        } else
            kryo.writeClassAndObject(output, entry.value);
    }
}
项目:gdx-cclibs    文件:ArrayMapSerializer.java   
public void write (Kryo kryo, Output output, ArrayMap map) {
    output.writeBoolean(map.ordered);
    int length = map.size;
    output.writeVarInt(length, true);
    kryo.writeClass(output, map.keys.getClass().getComponentType());
    kryo.writeClass(output, map.values.getClass().getComponentType());

    Serializer keySerializer = null;
    if (keyGenericType != null) {
        if (keySerializer == null) keySerializer = kryo.getSerializer(keyGenericType);
        keyGenericType = null;
    }
    Serializer valueSerializer = null;
    if (valueGenericType != null) {
        if (valueSerializer == null) valueSerializer = kryo.getSerializer(valueGenericType);
        valueGenericType = null;
    }

    for (Iterator iter = map.iterator(); iter.hasNext();) {
        ObjectMap.Entry entry = (ObjectMap.Entry)iter.next();
        if (keySerializer != null) {
            kryo.writeObject(output, entry.key, keySerializer);
        } else
            kryo.writeClassAndObject(output, entry.key);
        if (valueSerializer != null) {
            kryo.writeObjectOrNull(output, entry.value, valueSerializer);
        } else
            kryo.writeClassAndObject(output, entry.value);
    }
}
项目:gdx-cclibs    文件:GdxToKryo.java   
/** Reads an object using the registered serializer, but does not return it. If the object type is a {@link Disposable},
 * uses native memory, or is time consuming to instantiate, it should use an implementation of {@link SkippableSerializer}
 * to avoid memory leaks or wasted instantiation time. */
public static <T> void skipObsoleteObject (Kryo kryo, Input input, Class<T> type){
    com.esotericsoftware.kryo.util.ObjectMap graphContext = kryo.getGraphContext();
    final int branchDepth = graphContext.containsKey(OBSOLETE_BRANCH_KEY) ? (Integer)graphContext.get(OBSOLETE_BRANCH_KEY) : 0;
    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth + 1);

    kryo.readObject(input, type);

    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth);
}
项目:gdx-cclibs    文件:GdxToKryo.java   
/** Reads an object using the specified serializer, but does not return it. If the object type is a {@link Disposable},
 * uses native memory, or is time consuming to instantiate, it should use an implementation of {@link SkippableSerializer}
 * to avoid memory leaks or wasted instantiation time. */
public static <T> void skipObsoleteObject (Kryo kryo, Input input, Class<T> type, Serializer serializer){
    com.esotericsoftware.kryo.util.ObjectMap graphContext = kryo.getGraphContext();
    final int branchDepth = graphContext.containsKey(OBSOLETE_BRANCH_KEY) ? (Integer)graphContext.get(OBSOLETE_BRANCH_KEY) : 0;
    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth + 1);

    kryo.readObject(input, type, serializer);

    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth);
}
项目:gdx-cclibs    文件:GdxToKryo.java   
/** Reads an object or null using the registered serializer, but does not return it. If the object type is a {@link Disposable},
 * uses native memory, or is time consuming to instantiate, it should use an implementation of {@link SkippableSerializer}
 * to avoid memory leaks or wasted instantiation time. */
public static <T> void skipObsoleteObjectOrNull (Kryo kryo, Input input, Class<T> type){
    com.esotericsoftware.kryo.util.ObjectMap graphContext = kryo.getGraphContext();
    final int branchDepth = graphContext.containsKey(OBSOLETE_BRANCH_KEY) ? (Integer)graphContext.get(OBSOLETE_BRANCH_KEY) : 0;
    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth + 1);

    kryo.readObjectOrNull(input, type);

    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth);
}
项目:gdx-cclibs    文件:GdxToKryo.java   
/** Reads an object or null using the specified serializer, but does not return it. If the object type is a {@link Disposable},
 * uses native memory, or is time consuming to instantiate, it should use an implementation of {@link SkippableSerializer}
 * to avoid memory leaks or wasted instantiation time. */
public static <T> void skipObsoleteObjectOrNull (Kryo kryo, Input input, Class<T> type, Serializer serializer){
    com.esotericsoftware.kryo.util.ObjectMap graphContext = kryo.getGraphContext();
    final int branchDepth = graphContext.containsKey(OBSOLETE_BRANCH_KEY) ? (Integer)graphContext.get(OBSOLETE_BRANCH_KEY) : 0;
    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth + 1);

    kryo.readObjectOrNull(input, type, serializer);

    graphContext.put(OBSOLETE_BRANCH_KEY, branchDepth);
}
项目:gdx-cclibs    文件:GdxToKryo.java   
/**
 * @return Whether the data being read is currently in an obsolete branch of the object graph, as marked by
 * {@link #skipObsoleteObject(Kryo, Input, Class)} or similar.
 */
public static boolean isInObsoleteBranch (Kryo kryo){
    com.esotericsoftware.kryo.util.ObjectMap graphContext = kryo.getGraphContext();
    if (graphContext.containsKey(OBSOLETE_BRANCH_KEY))
        return (Integer)graphContext.get(OBSOLETE_BRANCH_KEY) > 0;
    return false;
}
项目:gdx-cclibs    文件:BatchableSorter.java   
public BatchableSorter (Camera camera, int opaqueIntialTextureCapacity, int opaqueInitialCapacityPerTexture,
    int blendedInitialCapacity) {
    this.cameraPosition = camera.position;
    this.opaqueInitialCapacityPerTexture = opaqueInitialCapacityPerTexture;
    opaqueBatchables = new ObjectMap<T, ObjectSet<T>>();
    for (int i = 0; i < opaqueIntialTextureCapacity; i++) { // seed the pool to avoid delay on first use
        objectSetPool.free(objectSetPool.obtain());
    }
    blendedBatchables = new Array<T>(blendedInitialCapacity);
    comparator = new Comparator<T>() {
        public int compare (T o1, T o2) {
            return (int)Math.signum(o2.calculateDistanceSquared(cameraPosition) - o1.calculateDistanceSquared(cameraPosition));
        }
    };
}
项目:gdx-cclibs    文件:AssignmentAssetManager.java   
@Override
public synchronized boolean update () {
    boolean done = super.update();
    if (done) {
        // assign references to Asset fields of queuedContainers
        for (Object assetContainer : queuedContainers) {
            ObjectMap<Field, AssetDescriptor<?>> fieldsToAssets = containersFieldsToAssets.get(assetContainer);
            for (ObjectMap.Entry<Field, AssetDescriptor<?>> fieldEntry : fieldsToAssets) {
                Field field = fieldEntry.key;
                makeAccessible(field);
                try {
                    field.set(assetContainer, get(fieldEntry.value));
                } catch (ReflectionException e) {
                    throw new GdxRuntimeException("Failed to assign loaded asset " + field.getName(), e);
                }
            }
            ObjectMap<Object[], AssetDescriptor<?>[]> fieldsToAssetArrays = containersFieldsToAssetArrays.get(assetContainer);
            for (ObjectMap.Entry<Object[], AssetDescriptor<?>[]> arrayEntry : fieldsToAssetArrays) {
                Object[] destinationArray = arrayEntry.key;
                AssetDescriptor<?>[] descriptors = arrayEntry.value;
                for (int i = 0; i < descriptors.length; i++) {
                    destinationArray[i] = get(descriptors[i]);
                }
            }

            if (assetContainer instanceof AssetContainer)
                ((AssetContainer) assetContainer).onAssetsLoaded();
        }

        loadedContainers.addAll(queuedContainers);
        queuedContainers.clear();
    }
    return done;
}
项目:arcadelegends-gg    文件:EntityArguments.java   
public Properties toProperties() {
    Properties properties = new Properties();
    for (ObjectMap.Entries<String, Object> iter = arguments.entries(); iter.hasNext(); ) {
        ObjectMap.Entry<String, Object> entr = iter.next();
        properties.put(entr.key, entr.value);
    }
    return properties;
}
项目:arcadelegends-gg    文件:StatusEffect.java   
public StatusEffect(float effectTime, float remainingTime, ObjectMap<StatComponent.BaseStat, Float> flatStats, ObjectMap<StatComponent.BaseStat, Float> percentageStats, ObjectMap<StatComponent.BaseStat, Float> percentageBaseStats, TickHandler tickHandler) {
    this.effectTime = effectTime;
    this.remainingTime = remainingTime;
    this.flatStats = flatStats;
    this.percentageStats = percentageStats;
    this.percentageBaseStats = percentageBaseStats;
    this.tickHandler = tickHandler;
}
项目:arcadelegends-gg    文件:StatusEffect.java   
@Override
public void applyPercentage(StatComponent stats) {
    for (ObjectMap.Entry<StatComponent.BaseStat, Float> percentageChange : percentageStats.entries()) {
        float value = stats.getCurrentStat(percentageChange.key);
        stats.setCurrentStat(percentageChange.key, value + value * percentageChange.value);
    }
}