// Start is called before the first frame update
    void Start()
    {
        pgm = GameObject.Find("PersistentGameManager");
        //Debug.Log("Player set");
        player.SetupFromPlayerData(pgm.GetComponent <PersistentGameManager>().playerData);
        //Debug.Log("Player deck set");
        playerDeck.SetupFromList(player.currentDeck);
        playerAnimator.SetBool("isWalking", false);
        playerAnimator.SetBool("isGrounded", true);

        instanceManager = GameObject.Find("InstanceManager");
        enemyManager    = GameObject.Find("EnemyManager");
        int enemyIndex = instanceManager.GetComponent <InstanceManager>().enemyIndex;

        Debug.Log("enemy set - index:" + enemyIndex.ToString());
        enemy.SetupFromPlayerData(enemyManager.GetComponent <EnemyManager>().enemyList[enemyIndex]);
        GameObject enemyModel = enemyManager.GetComponent <EnemyManager>().GetEnemybyIndex(enemyIndex);

        enemyAnimator = enemyModel.GetComponent <Animator>();
        enemyModel.SetActive(true);


        Debug.Log("enemy deck set");
        enemyDeck.SetupFromList(enemy.currentDeck);
        Debug.Log("Player deck count: " + playerDeck.Count() + " Enemy deck count: " + enemyDeck.Count());

        UpdateHeartUI();

        playerDeck.shuffle();
        enemyDeck.shuffle();
    }