Skip to content

Instantly share code, notes, and snippets.

@nazywam
Created February 22, 2015 11:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nazywam/3e38d20d5f5140e94a3b to your computer and use it in GitHub Desktop.
Save nazywam/3e38d20d5f5140e94a3b to your computer and use it in GitHub Desktop.
Loading map
function loadFrom(xml:String) {
var map = Xml.parse(xml).elementsNamed("map").next();
var layers = map.elementsNamed("layer");
var layer = layers.next();
var width = Std.parseInt(layer.get("width"));
var height = Std.parseInt(layer.get("height"));
mapSize.set(width, height);
var data = decode(StringTools.trim(layer.elementsNamed("data").next().firstChild().nodeValue));
loadMapFromData(new BytesInput(data));
layer = layers.next();
if(layer != null){
data = decode(StringTools.trim(layer.elementsNamed("data").next().firstChild().nodeValue));
loadBackgroundFromData(new BytesInput(data));
}
var objectGroup = map.elementsNamed("objectgroup").next();
for ( object in objectGroup.elements()) {
var posX : Int = getAttribute(object, "x");
var posY : Int = getAttribute(object, "y") - 16;
var gID : Int = getAttribute(object, "gid") - 1;
switch(object.get("type")) {
case "coin":
coins.add(new Coin(posX, posY, gID, true, false));
case "sign":
signs.add(new Sign(posX, posY, gID, object.elementsNamed("properties").next().elementsNamed("property").next().get("value")));
case "void":
var v = new MemoryGlitch(posX, posY);
memoryGlitches.add(v);
add(v.glitch);
case "playerspawn":
playerSpawn.set(posX, posY);
case "probe":
probes.add(new Probe(posX, posY));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment