public void SomethingClicked(InteractableElt target)
    {
        if (currentlySelectedItem == null)
        {
            currentlySelectedItem = target; currentlySelectedItem.transform.Find("ItemFrame").gameObject.SetActive(true);
            PrepareToSell(true); PrepareToMelt(true);
        }
        else if (currentlySelectedItem == target)
        {
            currentlySelectedItem.transform.Find("ItemFrame").gameObject.SetActive(false); currentlySelectedItem = null;
            PrepareToSell(false); PrepareToMelt(false);
        }
        else
        {
            if (currentlySelectedFace != null)
            {
                DisplayFace(null, false); currentlySelectedFace = null;
            }
            currentlySelectedItem.transform.Find("ItemFrame").gameObject.SetActive(false);
            currentlySelectedItem.DisplayDice(false);
            currentlySelectedItem = target;
            currentlySelectedItem.DisplayDice(true);
            currentlySelectedItem.transform.Find("ItemFrame").gameObject.SetActive(true);

            PrepareToSell(true); PrepareToMelt(true);
        }
    }
 public void SomethingHovered(InteractableElt target, bool isHovered)
 {
     if (currentlySelectedItem == null)
     {
         target.DisplayDice(isHovered);
     }
 }
 public void SomethingClickedToMelt(InteractableElt target)
 {
     if (meltSelection.Contains(target.myItemRef))
     {
         target.transform.Find("ItemFrame").gameObject.SetActive(false);
         meltSelection.Remove(target.myItemRef);
     }
     else
     {
         target.transform.Find("ItemFrame").gameObject.SetActive(true);
         meltSelection.Add(target.myItemRef);
     }
 }
    public void NullifySelected()
    {
        if (currentlySelectedItem != null)
        {
            currentlySelectedItem.transform.Find("ItemFrame").gameObject.SetActive(false);
            currentlySelectedItem.DisplayDice(false);
            currentlySelectedItem = null;
        }
        if (currentlySelectedFace != null)
        {
            DisplayFace(null, false); currentlySelectedFace = null;
        }

        PrepareToSell(false); PrepareToMelt(false);
    }
    // UPGRADE PART

    public void SomeFaceHovered(InteractableElt target, bool isHovered)
    {
        if (currentlySelectedFace == null)
        {
            bool isCursed = false; target.myFaceRef.effects.ForEach(x => isCursed = isCursed || (x.nameEffect == "Cursed"));

            DisplayFace(target.gameObject, isHovered);
            if (isHovered && !isCursed)
            {
                myUpgradedFacesDisplayer.DisplayDice(GenerateUpgrades(target.myFaceRef));
            }
            else
            {
                myUpgradedFacesDisplayer.Hide();
            }
        }
    }
    public void SomeFaceClicked(InteractableElt target)
    {
        if (currentlySelectedFace == null)
        {
            currentlySelectedFace = target; currentlySelectedFace.transform.Find("DiceSelect").gameObject.SetActive(true);
        }
        else if (currentlySelectedFace == target)
        {
            currentlySelectedFace.transform.Find("DiceSelect").gameObject.SetActive(false); currentlySelectedFace = null;
        }
        else
        {
            currentlySelectedFace.transform.Find("DiceSelect").gameObject.SetActive(false);
            DisplayFace(target.gameObject, false);
            myUpgradedFacesDisplayer.Hide();

            currentlySelectedFace = target;

            DisplayFace(target.gameObject, true);
            currentlySelectedFace.transform.Find("DiceSelect").gameObject.SetActive(true);
            myUpgradedFacesDisplayer.DisplayDice(GenerateUpgrades(target.myFaceRef));
        }
    }