Question by 
               samcouper_ · Jul 25, 2018 at 07:24 AM · 
                c#scenecolordontdestroyonloaddropdown  
              
 
              Dropdown menu: how to make colour change across multiple scenes
Hi everyone, I am making a settings scene in my game where the user can set the background colour. I have a working code by using different coloured panels but it only applies the colour change in that scene and I want it for all the scenes.
I have tried using DontDestoryOnLoad but that did not work so I was wondering if anyone had any ideas??
Thanks!!
 public GameObject WhitePanel;
 public GameObject RedPanel;
 public GameObject OrangePanel;
 public GameObject YellowPanel;
 public GameObject GreenPanel;
 public GameObject BluePanel;
 public GameObject PurplePanel;
 public GameObject PinkPanel;
 public GameObject GreyPanel;
 private void Start()
 {
     PopulateList();
     WhitePanel.gameObject.SetActive(true);
     RedPanel.gameObject.SetActive(false);
     OrangePanel.gameObject.SetActive(false);
     YellowPanel.gameObject.SetActive(false);
     GreenPanel.gameObject.SetActive(false);
     BluePanel.gameObject.SetActive(false);
     PurplePanel.gameObject.SetActive(false);
     PinkPanel.gameObject.SetActive(false);
     GreyPanel.gameObject.SetActive(false);
 }
 void PopulateList()
 {
     List<string> colours = new List<string> { "Background Colour:", "White", "Red", "Orange", "Yellow", "Green", "Blue", "Purple", "Pink", "Grey" };
     dropdown.AddOptions(colours);
 }
 private void Awake()
 {
     //DontDestroyOnLoad(this.WhitePanel);
     //DontDestroyOnLoad(this.RedPanel);
     //DontDestroyOnLoad(this.OrangePanel);
     //DontDestroyOnLoad(this.YellowPanel);
     //DontDestroyOnLoad(this.GreenPanel);
     //DontDestroyOnLoad(this.BluePanel);
     //DontDestroyOnLoad(this.PurplePanel);
     //DontDestroyOnLoad(this.PinkPanel);
     //DontDestroyOnLoad(this.GreyPanel);
 }
 void Update () 
 {
     switch(dropdown.value)
     {
         case 1:
             WhitePanel.gameObject.SetActive(true);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 2:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(true);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 3:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(true);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 4:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(true);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 5:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(true);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 6:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(true);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 7:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(true);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 8:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(true);
             GreyPanel.gameObject.SetActive(false);
             break;
         case 9:
             WhitePanel.gameObject.SetActive(false);
             RedPanel.gameObject.SetActive(false);
             OrangePanel.gameObject.SetActive(false);
             YellowPanel.gameObject.SetActive(false);
             GreenPanel.gameObject.SetActive(false);
             BluePanel.gameObject.SetActive(false);
             PurplePanel.gameObject.SetActive(false);
             PinkPanel.gameObject.SetActive(false);
             GreyPanel.gameObject.SetActive(true);
             break;
     }
 }
 }
 
              
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
function based on return value 2 Answers
Destroyed object in DontDestroyOnLoad does not recreate in its main scene 0 Answers
Networking - Syncing color for all clients 0 Answers
How to access dropdown objects childrens? 0 Answers
Has anyone found a way to change Shuriken particles with c# while it is in transit. 1 Answer