List of usage examples for com.badlogic.gdx.utils OrderedMap orderedKeys
public Array<K> orderedKeys()
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); }