public void updateTopCard() {
        if (cardPile.isEmpty()) {
            if (cardFacade != null) {
                this.setTextureID(TextureManager.getCardTextureID(cardFacade));
            }
            else {
                this.setTextureID(TextureManager.getTextureID("circle_empty"));
            }
            this.setColor(ProjUtils.WHITE, false);
        }
        else if (cardsVisible) {
            if (cardFacade != null) {
                this.setTextureID(TextureManager.getCardTextureID(cardFacade));
            }
            else {
                this.setTextureID(TextureManager.getCardTextureID(cardPile.peek()));
            }

            this.animateColor(new RGBColorAnimation(250, Animation.PACE_LINEAR, false, this.getColor(), (cardPile.peek().getComponent() != null) ? cardPile.peek().getComponent().getTrueColor() : ProjUtils.WHITE, false));
        }
        else {
            this.setTextureID(TextureManager.getTextureID("card_back"));
            this.setColor(ProjUtils.WHITE, false);
        }
    }