Ejemplo n.º 1
0
    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;           
	}
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
	void Start () {
        control = GetComponent<dfControl>();
        tween = GetComponent<dfTweenFloat>();
        HUD = this;
	}
Ejemplo n.º 4
0
        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);
            }
        }