public LinkOnTile(Link link, ITile tile, Collision.Collision.Direction direction) { this.game = link.game; this.link = link; this.tile = tile; this.direction = direction; }
public LinkOnItem(Link link, IItem item, Collision.Collision.Direction direction) { this.link = link; this.item = item; this.direction = direction; }
public LittleHelperOnEnemy(LittleHelper.LittleHelper littleHelper, IEnemy enemy, Collision.Collision.Direction direction) { this.littleHelper = littleHelper; this.enemy = enemy; this.direction = direction; }
public LinkHurt(Link link, Collision.Collision.Direction direction) { this.link = link; this.direction = direction; }
public ProjectileOnLittleHelper(IProjectile projectile, LittleHelper.LittleHelper littleHelper, Collision.Collision.Direction direction) { this.littleHelper = littleHelper; this.projectile = projectile; this.direction = direction; }
public ProjectileOnTile(IProjectile projectile, ITile tile, Collision.Collision.Direction direction) { this.projectile = projectile; this.tile = tile; this.direction = direction; }
public EnemyOnTile(IEnemy enemy, ITile tile, Collision.Collision.Direction direction) { this.enemy = enemy; this.tile = tile; this.direction = direction; }
public TransitionState(ZeldaGame game, Room oldroom, Room nextroom, Collision.Collision.Direction transitionDirection) { this.game = game; this.pHUD = new playerHUD(game, game.hudSpriteFactory); this.oldroom = oldroom; this.nextroom = nextroom; timer = TransitionStateStorage.timer; RoomTextureStorage roomTextures = new RoomTextureStorage(this.game); game.spriteSheets.TryGetValue("DungeonTileset", out itemSpriteSheet); windowWidth = game.GraphicsDevice.Viewport.Width; windowHeight = game.GraphicsDevice.Viewport.Height; int windowHeightFloor = ((windowHeight / ParserUtility.SCALE_FACTOR - ParserUtility.WINDOW_X_ADJUST / ParserUtility.SCALE_FACTOR) / ParserUtility.GEN_ADJUST) + ParserUtility.GAME_FRAME_ADJUST; int windowWidthFloor = (windowWidth / ParserUtility.SCALE_FACTOR - ParserUtility.WINDOW_Y_ADJUST / ParserUtility.SCALE_FACTOR) / ParserUtility.GEN_ADJUST; roomLimiter = TransitionStateStorage.roomLimiter; drawOffset = TransitionStateStorage.drawOffset; this.transitionDirection = transitionDirection; Vector2 newRoomShift = new Vector2(0, 0); //SLIDE switch (transitionDirection) { case Collision.Collision.Direction.up: newRoomShift = new Vector2(0, -TransitionStateStorage.roomTransitionY * ParserUtility.SCALE_FACTOR); timer = TransitionStateStorage.roomTransitionY * ParserUtility.SCALE_FACTOR / animationSpeed; break; case Collision.Collision.Direction.left: newRoomShift = new Vector2(-TransitionStateStorage.roomTransitionX * ParserUtility.SCALE_FACTOR, 0); timer = TransitionStateStorage.roomTransitionX * ParserUtility.SCALE_FACTOR / animationSpeed; break; case Collision.Collision.Direction.right: newRoomShift = new Vector2(TransitionStateStorage.roomTransitionX * ParserUtility.SCALE_FACTOR, 0); timer = TransitionStateStorage.roomTransitionX * ParserUtility.SCALE_FACTOR / animationSpeed; break; case Collision.Collision.Direction.down: newRoomShift = new Vector2(0, TransitionStateStorage.roomTransitionY * ParserUtility.SCALE_FACTOR); timer = TransitionStateStorage.roomTransitionY * ParserUtility.SCALE_FACTOR / animationSpeed; break; } drawLocationInteriorOld = new Vector2(windowWidthFloor + drawOffset, windowHeightFloor + drawOffset); drawLocationExteriorOld = new Vector2(windowWidthFloor, windowHeightFloor); drawLocationInteriorNext = new Vector2(windowWidthFloor + drawOffset, windowHeightFloor + drawOffset) + newRoomShift; drawLocationExteriorNext = new Vector2(windowWidthFloor, windowHeightFloor) + newRoomShift; int oldRoomNumber = this.oldroom.getRoomNumber(); roominteriorOld = roomTextures.getRoom(oldRoomNumber); int nextRoomNumber = nextroom.getRoomNumber(); roominteriorNext = roomTextures.getRoom(nextRoomNumber); roomexteriorNext = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorTemp, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); if (this.oldroom.getRoomNumber() == TransitionStateStorage.specialRoomNumber) { roomexteriorOld = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorActual, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); drawLocationInteriorOld = drawLocationInteriorOld - new Vector2(0, TransitionStateStorage.interiorPosAdjust); roominteriorOld = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorActual, Color.Transparent, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } else { roomexteriorOld = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorTemp, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } if (this.nextroom.getRoomNumber() == TransitionStateStorage.specialRoomNumber) { roomexteriorNext = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorActual, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); roominteriorNext = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorActual, Color.Transparent, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } else { roomexteriorNext = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.exteriorTemp, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } drawLocationTopDoorOld = new Vector2(windowWidthFloor + TransitionStateStorage.verticalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor); drawLocationLeftDoorOld = new Vector2(windowWidthFloor, windowHeightFloor + TransitionStateStorage.smallAdjust * ParserUtility.SCALE_FACTOR); drawLocationRightDoorOld = new Vector2(windowWidthFloor + TransitionStateStorage.horizontalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor + TransitionStateStorage.smallAdjust * ParserUtility.SCALE_FACTOR); drawLocationBottomDoorOld = new Vector2(windowWidthFloor + TransitionStateStorage.verticalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor + TransitionStateStorage.largeAdjust * ParserUtility.SCALE_FACTOR); drawLocationTopDoorNext = new Vector2(windowWidthFloor + TransitionStateStorage.verticalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor) + newRoomShift; drawLocationLeftDoorNext = new Vector2(windowWidthFloor, windowHeightFloor + TransitionStateStorage.smallAdjust * ParserUtility.SCALE_FACTOR) + newRoomShift; drawLocationRightDoorNext = new Vector2(windowWidthFloor + TransitionStateStorage.horizontalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor + TransitionStateStorage.smallAdjust * ParserUtility.SCALE_FACTOR) + newRoomShift; drawLocationBottomDoorNext = new Vector2(windowWidthFloor + TransitionStateStorage.verticalDoorAdjust * ParserUtility.SCALE_FACTOR, windowHeightFloor + TransitionStateStorage.largeAdjust * ParserUtility.SCALE_FACTOR) + newRoomShift; foreach (IDoor door in oldroom.getDoors()) { if (door.GetType() == typeof(TopDoor)) { topDoorOld = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(LeftDoor)) { leftDoorOld = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(RightDoor)) { rightDoorOld = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(BottomDoor)) { bottomDoorOld = roomTextures.getDoor(door.getDoorValue()); } } foreach (IDoor door in nextroom.getDoors()) { if (door.GetType() == typeof(TopDoor)) { topDoorNext = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(LeftDoor)) { leftDoorNext = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(RightDoor)) { rightDoorNext = roomTextures.getDoor(door.getDoorValue()); } else if (door.GetType() == typeof(BottomDoor)) { bottomDoorNext = roomTextures.getDoor(door.getDoorValue()); } } foreach (ITile tile in oldroom.getTiles()) { if (tile.GetType() == typeof(PushableTile)) { this.oldTile = (PushableTile)tile; foundOldTile = true; } } foreach (ITile tile in nextroom.getTiles()) { if (tile.GetType() == typeof(PushableTile)) { this.nextTile = (PushableTile)tile; foundNextTile = true; } } if (foundOldTile) { oldTile.pushed = false; drawLocationOldPushableTile = oldTile.drawLocation; oldPushableTile = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.pushableTile, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } if (foundNextTile) { drawLocationNextPushableTile = nextTile.drawLocation + newRoomShift; nextTile.pushed = false; nextPushableTile = new UniversalSprite(game, itemSpriteSheet, TransitionStateStorage.pushableTile, Color.White, SpriteEffects.None, new Vector2(1, 1), roomLimiter, 0.0f); } }
public LittleHelperOnItem(LittleHelper.LittleHelper littleHelper, IItem item, Collision.Collision.Direction direction) { this.littleHelper = littleHelper; this.item = item; this.direction = direction; }
public ProjectileOnEnemy(IProjectile projectile, IEnemy enemy, Collision.Collision.Direction direction) { this.enemy = enemy; this.projectile = projectile; this.direction = direction; }
public UnlockDoor(ZeldaGame game, Collision.Collision.Direction direction) { this.game = game; this.direction = direction; }
public ProjectileOnLink(IProjectile projectile, Link link, Collision.Collision.Direction direction) { this.link = link; this.projectile = projectile; this.direction = direction; }
public ItemOnTile(IItem item, ITile tile, Collision.Collision.Direction direction) { this.item = item; this.tile = tile; this.direction = direction; }
public EnemyOnLink(IEnemy enemy, Link link, Collision.Collision.Direction direciton) { this.enemy = enemy; this.link = link; this.direction = direciton; }
public LinkOnEnemy(Link link, IEnemy enemy, Collision.Collision.Direction direction) { this.link = link; this.enemy = enemy; this.direction = direction; }