// Update is called once per frame
 void Update()
 {
     if (Vector3.Distance(player.transform.position, transform.position) < chestRange)
     {
         keyText.SetActive(true);
         if (Input.GetKeyDown(KeyCode.E))
         {
             if (chestOpen == false)
             {
                 animator.SetTrigger("Open");
                 Debug.Log("trying to open");
                 chestOpen = true;
                 if (!opened)
                 {
                     Vector3 dropPosition = transform.position + transform.forward.normalized * -1;
                     DropManager.MakeDrop(dropPosition, chestLevel, true);
                 }
                 opened = true;
             }
             else
             {
                 animator.SetTrigger("Close");
                 Debug.Log("trying to close");
                 chestOpen = false;
             }
         }
     }
     else
     {
         keyText.SetActive(false);
     }
 }
    public virtual void Die()
    {
        //print (this + " died");
        playerXP.GetComponent <PlayerXP>().addXP(xp);
        GameObject instance = Instantiate(deathEmitter, transform.position, Quaternion.identity) as GameObject;

        instance.GetComponent <Renderer>().material = gameObject.GetComponent <Renderer> ().material;

        Destroy(instance, 1.5f);
        DropManager.MakeDrop(transform.position, xp, false);
        Destroy(gameObject);
    }