void Start () { rc = FindObjectOfType<RadarController>(); sp = FindObjectOfType<ShipPanel>(); Player = GameObject.FindGameObjectWithTag("Player"); tc = FindObjectOfType<TestCamera>(); HUD = FindObjectOfType<playerHUD>(); tg = FindObjectOfType<Targeting>(); pm = FindObjectOfType<PhysicsMovement>(); mycontrol = GetComponent<dfControl>(); mycontrol.CanFocus = true; mainCamera = Camera.main; }
public Room(ZeldaGame game, int RoomNumber, List <ITile> tilesLoaded, List <IItem> itemsLoaded, List <IEnemy> enemiesLoaded, List <IDoor> doorsLoaded) { roomNumber = RoomNumber; tiles = tilesLoaded; items = itemsLoaded; enemies = enemiesLoaded; doors = doorsLoaded; this.game = game; background = new Background(game, roomNumber); //player HUD: this.keyCounter = game.util.numKeys; this.bombCounter = game.util.numBombs; this.yellowrupeeCounter = game.util.numYrups; this.hudFactory = game.hudSpriteFactory; pHUD = new playerHUD(game, hudFactory); //bow pick-up workaround: bowSprite = hudFactory.staticBow(); }
void Start () { control = GetComponent<dfControl>(); tween = GetComponent<dfTweenFloat>(); HUD = this; }
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); } }