Canvas still shows
When I press play, the canvas I have assigned to dlcMenu still shows.
how can I get the dlcMenu to hide. I have used this method before and it has worked.
Please not eI do have the script on an empty GameObject.
Code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class menuScript : MonoBehaviour {
[Header("Canvases")]
public Canvas mainMenu;
public Canvas news;
public Canvas community;
public Canvas continueMenu;
public Canvas newGameMenu;
public Canvas optionsMenu;
public Canvas careerStatsMenu;
public Canvas widgetBook;
public Canvas dlcMenu;
public Canvas quitMenu;
public Canvas voteMenu;
[Header("Buttons")]
public Button continueButton;
public Button newGameButton;
public Button optionsMenuButton;
public Button careerStatsButton;
public Button widgetBookButton;
public Button dlcMenuButton;
public Button quitMenuButton;
public Button voteMenuButton;
public Button communityHubButton;
void Start () {
mainMenu = mainMenu.GetComponent<Canvas>();
news = news.GetComponent<Canvas>();
community = community.GetComponent<Canvas>();
continueMenu = continueMenu.GetComponent<Canvas>();
newGameMenu = newGameMenu.GetComponent<Canvas>();
optionsMenu = optionsMenu.GetComponent<Canvas>();
careerStatsMenu = careerStatsMenu.GetComponent<Canvas>();
widgetBook = widgetBook.GetComponent<Canvas>();
dlcMenu = dlcMenu.GetComponent<Canvas>();
quitMenu = quitMenu.GetComponent<Canvas>();
continueButton = continueButton.GetComponent<Button>();
newGameButton = newGameButton.GetComponent<Button>();
optionsMenuButton = optionsMenuButton.GetComponent<Button>();
careerStatsButton = careerStatsButton.GetComponent<Button>();
widgetBookButton = widgetBookButton.GetComponent<Button>();
dlcMenuButton = dlcMenuButton.GetComponent<Button>();
quitMenuButton = quitMenuButton.GetComponent<Button>();
voteMenuButton = voteMenuButton.GetComponent<Button>();
communityHubButton = communityHubButton.GetComponent<Button>();
mainMenu.enabled = true;
news.enabled = true;
community.enabled = true;
continueMenu.enabled = false;
newGameMenu.enabled = false;
optionsMenu.enabled = false;
careerStatsMenu.enabled = false;
widgetBook.enabled = false;
dlcMenu.enabled = false;
quitMenu.enabled = false;
}
void Update () {
}
public void baseClose() {
mainMenu.enabled = true;
news.enabled = true;
community.enabled = true;
continueMenu.enabled = false;
newGameMenu.enabled = false;
optionsMenu.enabled = false;
careerStatsMenu.enabled = false;
widgetBook.enabled = false;
dlcMenu.enabled = false;
quitMenu.enabled = false;
}
public void openContinueMenu() {
mainMenu.enabled = false;
news.enabled = false;
community.enabled = false;
continueMenu.enabled = true;
newGameMenu.enabled = false;
optionsMenu.enabled = false;
careerStatsMenu.enabled = false;
widgetBook.enabled = false;
dlcMenu.enabled = false;
quitMenu.enabled = false;
}
public void openNewGameMenu() {
mainMenu.enabled = false;
news.enabled = false;
community.enabled = false;
newGameMenu.enabled = true;
continueMenu.enabled = false;
optionsMenu.enabled = false;
careerStatsMenu.enabled = false;
widgetBook.enabled = false;
dlcMenu.enabled = false;
quitMenu.enabled = false;
}
}
Answer by Pengocat · Jan 04, 2017 at 08:28 PM
Since you use public fields for the Canvases it seems redundant that you try to GetComponent() on itself. Make sure that you only have one instance of the menuScript in the scene and assign the Canvases in the inspector and get rid of all the GetComponent calls. It probably doesn't work because you forgot to assign the Canvases in the inspector.
Your answer
Follow this Question
Related Questions
Can't get GUI canvas to show on camera 1 Answer
Unity Photon Pun 1 Answer
Multiple Canvases visual overlap issue 2 Answers
Trouble with closing Unity 5 ads 0 Answers