private void pushObject(GameInit gameInit, ZoneTile pushingTile, ZoneTile destination) { if (pushingTile.isFull()) { if (destination.isFree() && destination.isPushable()) { if (pushingTile.getTileObject().isPushable()) { ManipulatableObject tileObject = pushingTile.getTileObject(); int direction = gameInit.getPlayer().getFacingDirection(); if (direction == 0) { tileObject.activate(gameInit.getContentHandler(), gameInit.getZoneFactory().getCurrentZone(), "PUSH_UP"); gameInit.getPlayer().setNewAnimation(gameInit.getContentHandler().getPlayerContentHandler().getPlayerAnimations()["STATIONARY_UP"]); } else if (direction == 1) { tileObject.activate(gameInit.getContentHandler(), gameInit.getZoneFactory().getCurrentZone(), "PUSH_DOWN"); gameInit.getPlayer().setNewAnimation(gameInit.getContentHandler().getPlayerContentHandler().getPlayerAnimations()["STATIONARY_DOWN"]); } else if (direction == 2) { tileObject.activate(gameInit.getContentHandler(), gameInit.getZoneFactory().getCurrentZone(), "PUSH_RIGHT"); gameInit.getPlayer().setNewAnimation(gameInit.getContentHandler().getPlayerContentHandler().getPlayerAnimations()["STATIONARY_RIGHT"]); } else if (direction == 3) { tileObject.activate(gameInit.getContentHandler(), gameInit.getZoneFactory().getCurrentZone(), "PUSH_LEFT"); gameInit.getPlayer().setNewAnimation(gameInit.getContentHandler().getPlayerContentHandler().getPlayerAnimations()["STATIONARY_LEFT"]); } //manipulatedObjects.Add(tileObject); animatingObject = tileObject; environmentAnimation = true; pushing = false; } } } }
public abstract void insertObject(ManipulatableObject enteringObject);
public void insertObject(int y, int x, int level, ManipulatableObject tileObject) { zoneMap[level][y, x].insertObject(tileObject); }
public abstract void fillTile(ManipulatableObject enteringObject);
public void fillTileWithObject(int y, int x, int level, ManipulatableObject tileObject) { zoneMap[level][y, x].fillTile(tileObject); }