public virtual void Drop()
    {
        m_parent = null;
        //Detatch the object from the parent
        this.transform.parent = null;
        //Reenable the collider and gravity so that the object interacts with the world
        this.GetComponent <Collider>().isTrigger = false;
        //Enables the rigidbody
        this.GetComponent <Rigidbody>().isKinematic = false;

        if (m_shaderController != null)
        {
            m_shaderController.EnableOutline(1.05f, Color.yellow);
        }
        else
        {
            Debug.LogError("Shader Controller Missing from <a>" + this.gameObject.name + "<a> ", this.gameObject);
        }
    }