Trouble with script communication c#

I have this scenario where i pick up a gun, and it goes in my hands. I look at the gun on the ground, hit f, and it dissapears as planned. This script contains a bool to tell the gun in the heand to activate, however it just wont get read by my other script, no matter what i do. It doesnt show any error either.

This is the code mounted on the gun on the ground:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class GunTextUi : MonoBehaviour {

    public string myString;
    public Text textObject;
    public float fadeTime;
    public bool displayInfo;
    public bool pickedUp;

	// Use this for initialization
	void Start () {
        textObject = GameObject.Find("Text").GetComponent<Text>();
        textObject.color = Color.clear;
        pickedUp = false;
        gameObject.SetActive(true);
    }
	
	// Update is called once per frame
	void Update () {
        FadeText();
        PickUp();
	}

    void OnMouseOver()
    {
        displayInfo = true;
    }

    void OnMouseExit()
    {
        displayInfo = false;
    }

    void FadeText()
    {
        if (displayInfo)
        {
            textObject.text = myString;
            textObject.color = Color.Lerp(textObject.color, Color.black, fadeTime * Time.deltaTime);
        }
        else
        {
            textObject.color = Color.Lerp(textObject.color, Color.clear, fadeTime * Time.deltaTime);
        }
    }

    void PickUp()
    {
        if (displayInfo && Input.GetKeyDown("f")){
            pickedUp = true;
            gameObject.SetActive(false);
        }
        else
        {
            gameObject.SetActive(true);
        }
    }
}

this is the one on the gun:

using UnityEngine;
using System.Collections;

public class EquipGun : MonoBehaviour {

public bool PickedUp;

void Update()
{
    gameObject.SetActive(GameObject.FindObjectOfType<GunTextUi>().pickedUp);
}

}

Replace this (line 5 of second script):

GameObject.FindObjectOfType();

With this:

GameObject.GetComponent();