Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by SuperCrow2 · Aug 20, 2020 at 09:49 PM · c#textunity 2dmanagerlevels

Help setting up a game manager

I have some game modes where once the player picks one, it shows up in the level with the game mode that you picked. But this script only works on the first level. My question would be: Would making a game manger game object in my hierarchy then putting the text game objects on level 2 in the game manager work? And would the script for the game manager look similar to this? Not sure how the script should be set up.

Because I am going to need the game mode name to appear on level 2 once you clear level 1, but the below script only gets it to appear on level 1.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 
 //Goes to level 1 after clicking Endurance Mode
 //"Endurance Mode" will show up on level 1 when this button is clicked
 
 
 public class endurance : MonoBehaviour
 {
     
     public GameObject EnduranceText;
 
 
   void Start()
     {
         EnduranceText.SetActive(false); //start endurance text in level disabled
     }
 
     public void EnduranceMode() 
     {
         SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 2);
 
         if (EnduranceText.activeSelf)
         {
             EnduranceText.SetActive(true);
         }
         else
         {
             EnduranceText.SetActive(true);
         }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by Aviryx · Aug 20, 2020 at 10:59 PM

Update 2


I don't see why you need 3 separate text elements... that is the whole point of passing data through an SO. You can populate the text at runtime.


 using UnityEngine;
 using UnityEngine.UI;

 public class Level1Manager : MonoBehaviour
 {
     public GameDataScriptableObject gameData;
     public Text gameMode;

     void Start()
     {
         gameMode.text = gameData.gameMode;
     }
 }

 using UnityEngine;
 using UnityEngine.UI;

 public class Level2Manager : MonoBehaviour
 {
     public GameDataScriptableObject gameData;
     public Text gameMode;

     void Start()
     {
         gameMode.text = gameData.gameMode;
     }
 }

 using UnityEngine;
 using UnityEngine.UI;

 public class Level3Manager : MonoBehaviour
 {
     public GameDataScriptableObject gameData;
     public Text gameMode;

     void Start()
     {
         gameMode.text = gameData.gameMode;
     }
 }


Update 1


In answer to your comment... it depends. You could have a script that you attach to the gameobjects in question (the ones that need to display the text) which could look like this: (I dont get how you are using gameobects to display text tbh... are you using a canvas attached to the gameobject with a UI/text component?


 using UnityEngine;

 public class DisplayGameMode : MonoBehaviour
 {
     public GameDataScriptableObject gameData;

     void Start()
     {
         Debug.Log(gameData.gameMode);
     }
 }

But really you should be able to use my examples to make your own working example unless you can be more clear about how you are displaying text (you say get gameobjects to display text... are you using UI/Text/Canvas?)


1) Create this script and then right click in the assets folder > Create > Data > GameData. This will give you a scriptable object.


GameDataScriptableObject.cs


 using UnityEngine;

 [CreateAssetMenu(fileName = "GameData", menuName = "Data/GameData", order = 1)]
 public class GameDataScriptableObject : ScriptableObject
 {
     public string gameMode;
 }

2) you can reference this scriptable object like a class:


 public class SomeClass : Monobehaviour 
 {
     GameDataScriptableObject gameData;
 }

3) once you have a reference you can get the game mode from any script that uses a reference.


 gameData.gameMode;

----


I have read this about 5 times but am still unsure exactly what you are trying to achieve. You used mixed terminology (you talk about text but appear to be using game objects?)


I'm going to assume a few things for the sake of providing an example so hopefully I don't get too much wrong. You appear to want some kind of text (UI?) that shows what mode the user selected during individual scenes. The first thing I would say is that keeping scenes "separate" is a good practice. What I mean by this is a scene should not be dependant on data/stuff being loaded/kept from the previous scene - rather you should attempt to transition the data using a cleaner method.


You could use a scriptable object to store the text you want to display and then it's scene independent. For a scene/level to display the correct mode all you need to do is get the data from your SO. (unless I misunderstood what you wanted in which case this will most likely be useless)


MainMenuManager.cs


 using UnityEngine;
 using UnityEngine.UI;

     public class MainMenuManager : MonoBehaviour
     {
         public GameDataScriptableObject gameData;

         public string gameMode;

         public Button startGame;

         public Button selectMode1;
         public Button selectMode2;
         public Button selectMode3;

         public GameObject warningMessage;
         public Text noModeSelectedWarningMessage;

         void Start()
         {
             noModeSelectedWarningMessage = " you have not selected a mode! ";

             InitializeButtons();
         }

         private void StartGame()
         {
             if (gameMode != "")
             {
                 gameData.gameMode = gameMode;

                 // load whatever scene
             }
             else
             {
                 warningMessage.SetActive(true);
             }
         }

         private void SetGameMode1()
         {
             gameMode = "Game Mode 1";
         }

         private void SetGameMode2()
         {
             gameMode = "Game Mode 2";
         }

         private void SetGameMode3()
         {
             gameMode = "Game Mode 3";
         }


         private void InitializeButtons()
         {
             startGame.onClick.AddListener(StartGame);

             selectMode1.onClick.AddListener(SetGameMode1);
             selectMode2.onClick.AddListener(SetGameMode2);
             selectMode3.onClick.AddListener(SetGameMode3);
         }
     }

GameDataScriptableObject.cs


 using UnityEngine;

 [CreateAssetMenu(fileName = "GameData", menuName = "Data/GameData", order = 1)]
 public class GameDataScriptableObject : ScriptableObject
 {
     public string gameMode;
 }

Level1Manager.cs


 using UnityEngine;

 public class Level1Manager : MonoBehaviour
 {
     public GameDataScriptableObject gameData;

     void Start()
     {
         Debug.Log(gameData.gameMode);
     }
 }

Comment
Add comment · Show 8 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image SuperCrow2 · Aug 20, 2020 at 11:16 PM 0
Share

You pretty much nailed it. So, my first scene is the title screen, and theres a button that says "start game" I attached a script to it so you advance to the next scene after clicking it. Next scene you would press the "single player" button, then that goes to the Game $$anonymous$$odes scene, which are also buttons. Lets say you pressed the "Game $$anonymous$$ode 1" button, that brings you right to level 1 and it should say "Game $$anonymous$$ode 1" via a text object I have on levels 1 to...however many levels the game has.

So it should say it on each level.

avatar image Aviryx SuperCrow2 · Aug 20, 2020 at 11:33 PM 0
Share

Yeah so you should have everything you need in the example I gave? Have the button change the string used to store the game mode... and inside each level just have a script that accesses gameData.game$$anonymous$$ode in order to get the game mode text/string;

avatar image SuperCrow2 Aviryx · Aug 20, 2020 at 11:36 PM 0
Share

"and inside each level just have a script that accesses gameData.game$$anonymous$$ode in order to get the game mode text/string;" will that be attached to my text objects in each level? I have one text object for each game mode name. And what would the script look like?

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

752 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to change UI button of a particular gameobject to another UI button 1 Answer

How to change UI button of a particular gameobject to another UI button 0 Answers

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

Text is not updating 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges