Time.timeScale=0 not working, help please!

Hi, Time.timeScale=0 is not working when I use in the game over menu. The game still can run when the menu popup. I hope that someone can help me.Thanks.
Here the code:

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class EventHandler : MonoBehaviour {

	public string sceneName;
	private bool pauseEnable;
	public LevelManager levelManager;
	public GameObject GameOverPanel;
	public GameObject WinPanel;




	// Use this for initialization
	void Start()
	{
		HideGameOverMenu();
		HideWinMenu();
		//pauseMenu.SetActive(false);
		levelManager = FindObjectOfType<LevelManager>();

	}

	// Update is called once per frame
	void Update()
	{


	

		// if (Application.platform == RuntimePlatform.Android)
		// {
		//    if (Input.GetKey(KeyCode.Escape))
		//  {
		//    SceneManager.LoadScene(sceneName);
		//

		//  }
		// }
	}


	public void SelectScene(string Scene)
	{
		SceneManager.LoadScene(Scene);

	}

	public void Restart()
	{
		levelManager.RespawnPlayer();
	}


	public void HideGameOverMenu()
	{
		GameOverPanel.SetActive(false);
	}

	public void ShowGameOverMenu()
	{
		GameOverPanel.SetActive(true);
		Time.timeScale = 0;
	}
		

	public void HideWinMenu()
	{
		WinPanel.SetActive(false);

	}

	public void ShowWinMenu()
	{
		WinPanel.SetActive(true);
		Time.timeScale = 0;
	}


}

Well, Time.timeScale=0 won’t stop your game per say, it will just make Time.deltaTime be 0.

So, the problem is likely in the rest of your code. If you move an object in an Update somewhere with transform.Translate(Vector3.leftspeedTime.deltaTime), then it will stop, but if you move it with transform.Translate(Vector3.left*speed), it won’t. Does that make sense?