Example usage for com.badlogic.gdx.utils OrderedMap orderedKeys

List of usage examples for com.badlogic.gdx.utils OrderedMap orderedKeys

Introduction

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

Prototype

public Array<K> orderedKeys() 

Source Link

Usage

From source file:com.tnf.ptm.handler.dra.DraMan.java

License:Apache License

public void draw(PtmGame game) {
    MapDrawer mapDrawer = game.getMapDrawer();
    if (mapDrawer.isToggled()) {
        mapDrawer.draw(myDrawer, game);// ww  w  .j  a  v  a 2  s .  co  m
        return;
    }

    PtmCam cam = game.getCam();
    myDrawer.updateMtx(game);
    game.getFarBgManOld().draw(myDrawer, cam, game);
    Vector2 camPos = cam.getPos();
    float viewDist = cam.getViewDist();

    ObjectManager objectManager = game.getObjMan();
    List<PtmObject> objs = objectManager.getObjs();
    for (int i1 = 0, objsSize = objs.size(); i1 < objsSize; i1++) {
        PtmObject o = objs.get(i1);
        Vector2 objPos = o.getPosition();
        float r = objectManager.getPresenceRadius(o);
        List<Dra> dras = o.getDras();
        float draLevelViewDist = viewDist;
        if (dras.size() > 0) {
            draLevelViewDist *= dras.get(0).getLevel().depth;
        }
        boolean objInCam = isInCam(objPos, r, camPos, draLevelViewDist);
        for (int i = 0, drasSize = dras.size(); i < drasSize; i++) {
            Dra dra = dras.get(i);
            if (!objInCam || !dra.isEnabled()) {
                myInCam.remove(dra);
                continue;
            }
            dra.prepare(o);
            Vector2 draPos = dra.getPos();
            float rr = dra.getRadius();
            boolean draInCam = isInCam(draPos, rr, camPos, draLevelViewDist);
            if (draInCam) {
                myInCam.add(dra);
            } else {
                myInCam.remove(dra);
            }
        }
    }

    for (int dlIdx = 0, dlCount = myDlVals.length; dlIdx < dlCount; dlIdx++) {
        DraLevel draLevel = myDlVals[dlIdx];
        if (draLevel == DraLevel.PART_FG_0) {
            game.getMountDetectDrawer().draw(myDrawer);
        }
        OrderedMap<Texture, List<Dra>> map = myDras.get(dlIdx);
        Array<Texture> texs = map.orderedKeys();
        for (int texIdx = 0, sz = texs.size; texIdx < sz; texIdx++) {
            Texture tex = texs.get(texIdx);
            List<Dra> dras = map.get(tex);
            for (int draIdx = 0, drasSize = dras.size(); draIdx < drasSize; draIdx++) {
                Dra dra = dras.get(draIdx);
                if (myInCam.contains(dra)) {
                    if (!DebugOptions.NO_DRAS) {
                        dra.draw(myDrawer, game);
                    }
                }
            }
        }
        if (draLevel.depth <= 1) {
            game.drawDebug(myDrawer);
        }
        if (draLevel == DraLevel.ATM) {
            if (!DebugOptions.NO_DRAS) {
                game.getPlanetMan().drawPlanetCoreHack(game, myDrawer);
                game.getPlanetMan().drawSunHack(game, myDrawer);
            }
        }
    }

    if (DebugOptions.DRAW_DRA_BORDERS) {
        for (OrderedMap<Texture, List<Dra>> map : myDras) {
            for (List<Dra> dras : map.values()) {
                for (int i = 0, drasSize = dras.size(); i < drasSize; i++) {
                    Dra dra = dras.get(i);
                    drawDebug(myDrawer, game, dra);
                }
            }
        }
    }

    game.getSoundManager().drawDebug(myDrawer, game);
    myDrawer.maybeChangeAdditive(false);
}

From source file:me.scarlet.undertailor.util.CollectionUtil.java

License:Open Source License

/**
 * Returns the first key that was registered into the
 * provided {@link OrderedMap}.//from  w ww  . ja va  2 s .  c o  m
 * 
 * @param map the OrderedMap to query
 * 
 * @return the first key in the provided OrderedMap, or
 *         null if the map was empty
 */
public static <T> T firstKey(OrderedMap<T, ?> map) {
    Array<T> array = map.orderedKeys();
    if (array.size > 0) {
        return array.get(0);
    }

    return null;
}

From source file:me.scarlet.undertailor.util.CollectionUtil.java

License:Open Source License

/**
 * Returns the last key that was registered into the
 * provided {@link OrderedMap}.//w ww  .  j av  a  2 s.  c  o m
 * 
 * @param map the OrderedMap to query
 * 
 * @return the last key in the provided OrderedMap, or
 *         null if the map was empty
 */
public static <T> T lastKey(OrderedMap<T, ?> map) {
    Array<T> array = map.orderedKeys();
    if (array.size > 0) {
        return array.get(array.size - 1);
    }

    return null;
}

From source file:mt.Json.java

License:Apache License

/** Writes the value, writing the class of the object if it differs from the specified known type. The specified element type is
 * used as the default type for collections.
 * @param value May be null.//from   w w  w .  ja  v  a 2  s .c o  m
 * @param knownType May be null if the type is unknown.
 * @param elementType May be null if the type is unknown. */
public void writeValue(Object value, Class knownType, Class elementType) {
    try {
        if (value == null) {
            writer.value(null);
            return;
        }

        if ((knownType != null && knownType.isPrimitive()) || knownType == String.class
                || knownType == Integer.class || knownType == Boolean.class || knownType == Float.class
                || knownType == Long.class || knownType == Double.class || knownType == Short.class
                || knownType == Byte.class || knownType == Character.class) {
            writer.value(value);
            return;
        }

        Class actualType = value.getClass();

        if (actualType.isPrimitive() || actualType == String.class || actualType == Integer.class
                || actualType == Boolean.class || actualType == Float.class || actualType == Long.class
                || actualType == Double.class || actualType == Short.class || actualType == Byte.class
                || actualType == Character.class) {
            writeObjectStart(actualType, null);
            writeValue("value", value);
            writeObjectEnd();
            return;
        }

        if (value instanceof Serializable) {
            writeObjectStart(actualType, knownType);
            ((Serializable) value).write(this);
            writeObjectEnd();
            return;
        }

        Serializer serializer = classToSerializer.get(actualType);
        if (serializer != null) {
            serializer.write(this, value, knownType);
            return;
        }

        if (value instanceof Array) {
            if (knownType != null && actualType != knownType && actualType != Array.class)
                throw new SerializationException(
                        "Serialization of an Array other than the known type is not supported.\n"
                                + "Known type: " + knownType + "\nActual type: " + actualType);
            writeArrayStart();
            Array array = (Array) value;
            for (int i = 0, n = array.size; i < n; i++)
                writeValue(array.get(i), elementType, null);
            writeArrayEnd();
            return;
        }

        if (value instanceof Collection) {
            if (knownType != null && actualType != knownType && actualType != ArrayList.class)
                throw new SerializationException(
                        "Serialization of a Collection other than the known type is not supported.\n"
                                + "Known type: " + knownType + "\nActual type: " + actualType);
            writeArrayStart();
            for (Object item : (Collection) value)
                writeValue(item, elementType, null);
            writeArrayEnd();
            return;
        }

        if (actualType.isArray()) {
            if (elementType == null)
                elementType = actualType.getComponentType();
            int length = ArrayReflection.getLength(value);
            writeArrayStart();
            for (int i = 0; i < length; i++)
                writeValue(ArrayReflection.get(value, i), elementType, null);
            writeArrayEnd();
            return;
        }

        if (value instanceof OrderedMap) {
            if (knownType == null)
                knownType = OrderedMap.class;
            writeObjectStart(actualType, knownType);
            OrderedMap map = (OrderedMap) value;
            for (Object key : map.orderedKeys()) {
                writer.name(convertToString(key));
                writeValue(map.get(key), elementType, null);
            }
            writeObjectEnd();
            return;
        }

        if (value instanceof ArrayMap) {
            if (knownType == null)
                knownType = ArrayMap.class;
            writeObjectStart(actualType, knownType);
            ArrayMap map = (ArrayMap) value;
            for (int i = 0, n = map.size; i < n; i++) {
                writer.name(convertToString(map.keys[i]));
                writeValue(map.values[i], elementType, null);
            }
            writeObjectEnd();
            return;
        }

        if (value instanceof ObjectMap) {
            if (knownType == null)
                knownType = OrderedMap.class;
            writeObjectStart(actualType, knownType);
            for (Entry entry : ((ObjectMap<?, ?>) value).entries()) {
                writer.name(convertToString(entry.key));
                writeValue(entry.value, elementType, null);
            }
            writeObjectEnd();
            return;
        }

        if (value instanceof Map) {
            if (knownType == null)
                knownType = HashMap.class;
            writeObjectStart(actualType, knownType);
            for (Map.Entry entry : ((Map<?, ?>) value).entrySet()) {
                writer.name(convertToString(entry.getKey()));
                writeValue(entry.getValue(), elementType, null);
            }
            writeObjectEnd();
            return;
        }

        if (ClassReflection.isAssignableFrom(Enum.class, actualType)) {
            if (knownType == null || !knownType.equals(actualType)) {
                writeObjectStart(actualType, null);
                writer.name("value");
                writer.value(value);
                writeObjectEnd();
            } else {
                writer.value(value);
            }
            return;
        }

        writeObjectStart(actualType, knownType);
        writeFields(value);
        writeObjectEnd();
    } catch (IOException ex) {
        throw new SerializationException(ex);
    }
}

From source file:org.destinationsol.game.dra.DraMan.java

License:Apache License

public void draw(SolGame game) {
    MapDrawer mapDrawer = game.getMapDrawer();
    if (mapDrawer.isToggled()) {
        mapDrawer.draw(myDrawer, game);/*from www. jav  a  2s .c o m*/
        return;
    }

    SolCam cam = game.getCam();
    myDrawer.updateMtx(game);
    game.getFarBgManOld().draw(myDrawer, cam, game);
    Vector2 camPos = cam.getPos();
    float viewDist = cam.getViewDist();

    ObjectManager objectManager = game.getObjMan();
    List<SolObject> objs = objectManager.getObjs();
    for (int i1 = 0, objsSize = objs.size(); i1 < objsSize; i1++) {
        SolObject o = objs.get(i1);
        Vector2 objPos = o.getPosition();
        float r = objectManager.getPresenceRadius(o);
        List<Dra> dras = o.getDras();
        float draLevelViewDist = viewDist;
        if (dras.size() > 0)
            draLevelViewDist *= dras.get(0).getLevel().depth;
        boolean objInCam = isInCam(objPos, r, camPos, draLevelViewDist);
        for (int i = 0, drasSize = dras.size(); i < drasSize; i++) {
            Dra dra = dras.get(i);
            if (!objInCam || !dra.isEnabled()) {
                myInCam.remove(dra);
                continue;
            }
            dra.prepare(o);
            Vector2 draPos = dra.getPos();
            float rr = dra.getRadius();
            boolean draInCam = isInCam(draPos, rr, camPos, draLevelViewDist);
            if (draInCam) {
                myInCam.add(dra);
            } else {
                myInCam.remove(dra);
            }
        }
    }

    for (int dlIdx = 0, dlCount = myDlVals.length; dlIdx < dlCount; dlIdx++) {
        DraLevel draLevel = myDlVals[dlIdx];
        if (draLevel == DraLevel.PART_FG_0) {
            game.getMountDetectDrawer().draw(myDrawer);
        }
        OrderedMap<Texture, List<Dra>> map = myDras.get(dlIdx);
        Array<Texture> texs = map.orderedKeys();
        for (int texIdx = 0, sz = texs.size; texIdx < sz; texIdx++) {
            Texture tex = texs.get(texIdx);
            List<Dra> dras = map.get(tex);
            for (int draIdx = 0, drasSize = dras.size(); draIdx < drasSize; draIdx++) {
                Dra dra = dras.get(draIdx);
                if (myInCam.contains(dra)) {
                    if (!DebugOptions.NO_DRAS)
                        dra.draw(myDrawer, game);
                }
            }
        }
        if (draLevel.depth <= 1) {
            game.drawDebug(myDrawer);
        }
        if (draLevel == DraLevel.ATM) {
            if (!DebugOptions.NO_DRAS) {
                game.getPlanetMan().drawPlanetCoreHack(game, myDrawer);
                game.getPlanetMan().drawSunHack(game, myDrawer);
            }
        }
    }

    if (DebugOptions.DRAW_DRA_BORDERS) {
        for (OrderedMap<Texture, List<Dra>> map : myDras) {
            for (List<Dra> dras : map.values()) {
                for (int i = 0, drasSize = dras.size(); i < drasSize; i++) {
                    Dra dra = dras.get(i);
                    drawDebug(myDrawer, game, dra);
                }
            }
        }
    }

    game.getSoundMan().drawDebug(myDrawer, game);
    myDrawer.maybeChangeAdditive(false);
}