Respawning multiple items

Hi, so I am very confused about how to respond an item after it has been picked up. It is a game like pacman so I am trying to make it so when you eat a white dot as you would in pacman, 5 seconds later it will respond. But everything I have tried so far has not worked. Thanks for the help.

Code:

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

public class DuckController : MonoBehaviour {

[SerializeField] float Speed = 3.5f;

Rigidbody rigidbody;

Collision collision;

private int count;

public Text Counter;

// Use this for initialization
void Start () {
    rigidbody = GetComponent<Rigidbody>();
    count = 0;
    SetCountText();
}
// Update is called once per frame
void FixedUpdate() {
    Invoke("Rotate", 2f);
}

void Rotate()
{
    if (Input.GetKeyDown(KeyCode.LeftArrow))
    {
        transform.eulerAngles = new Vector3(0, 180, 0);
    }
    else if (Input.GetKeyDown(KeyCode.RightArrow))
    {
        transform.eulerAngles = new Vector3(0, 0, 0);
    }
    else if (Input.GetKeyDown(KeyCode.UpArrow))
    {
        transform.eulerAngles = new Vector3(0, -90, 0);
    }
    else if (Input.GetKeyDown(KeyCode.DownArrow))
    {
        transform.eulerAngles = new Vector3(0, 90, 0);
    }
    rigidbody.AddForce(transform.forward * Speed);
}
void OnTriggerEnter(Collider other)
{
    if (other.gameObject.tag == ("collect"))
    {
        other.gameObject.SetActive(false);
        count = count + 1;
        SetCountText();
        gameObject.tag = ("Respond");
    }
    else if (other.gameObject.tag == ("Bread"))
    {
        other.gameObject.SetActive(false);
        count = count + 10;
        SetCountText();
    }
    if (gameObject.tag == ("Respond"))
    {
        gameObject.SetActive(true);
    }
}
void SetCountText()
{
    Counter.text = "Count: " + count.ToString();
}

}

Do you mean respawn instead of respond? The problem appears to be when you set it to SetActive(false) it is disabling any code from running, including your timer. A quick fix would be instead of SetActive(false) is to just move the game object’s transform.position to a safe spot out of view of the player. Send it + 100 on the Y axis above it’s current position. Then it should be out of view but still active and then move it back when the timer runs out.