Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 Oderus_Urungus · Jun 02, 2019 at 07:39 AM · c#arraystringfloat

Array not displaying my level best time in my level select menu

I'm trying to display a text on my level select screen that shows my best time. I can check my registry and it shows the best time in there, but it will not show it on my text object or in my level select menu. It only displays 0:00 on under all of my level select thumbnails.

my Instantiated prefab looks like this: Canvas>LevelButtonPrefab>BottomPanel(with the text for best time)

Help would be greatly appreciated as I cannot find my error. I need some fresh eyes!

Here is my code:

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

public class LevelData {

 public LevelData (string levelName)
 {
     string data = PlayerPrefs.GetString (levelName);
     if (data == "")
     {
         return;
     }
        
     

     string[] allData = data.Split ('&');
     BestTime = float.Parse (allData [0]);
     SilverTime = float.Parse (allData [1]);
     GoldTime = float.Parse (allData [2]);
 }

 public float BestTime   { set; get; }
 public float SilverTime { set; get; }
 public float GoldTime   { set; get; }

}

public class MainMenu : MonoBehaviour { private const float CAMERA_TRANSITION_SPEED = 3.0f;

 public GameObject levelButtonPrefab;
 public GameObject levelButtonContainer;
 public GameObject shopButtonPrefab;
 public GameObject shopButtonContainer;
 public Text currencyText;

 public Material playerMaterial;

 private Transform cameraTransform;
 private Transform cameraDesiredLookAt;

 //private bool nextLevelLocked = false;

 private int[] costs = {0,150,150,150,
                        300,300,300,300,
                        500,500,500,500,
                        1000,1250,1500,2000};



 private void Start()
 {
     ChangePlayerSkin(GameManager.Instance.currentSkinIndex);
     currencyText.text = "Currency : " + GameManager.Instance.currency.ToString ();
     cameraTransform = Camera.main.transform;

     Sprite[] thumbnails = Resources.LoadAll<Sprite>("Levels");
     foreach (Sprite thumbnail in thumbnails)
     {
         GameObject container = Instantiate(levelButtonPrefab) as GameObject;
         container.GetComponent<Image> ().sprite = thumbnail;
         container.transform.SetParent (levelButtonContainer.transform, false);
         LevelData level = new LevelData (thumbnail.name);
         container.transform.GetChild (0).GetChild (0).GetComponent<Text> ().text = 
             (level.BestTime != 0.0f) ? level.BestTime.ToString ("f") : "";

         //container.transform.GetChild(1).GetComponent<Image>().enabled = nextLevelLocked;
         //container.GetComponent<Button>().interactable = !nextLevelLocked;

         /*if(level.BestTime == 0.0f)
         {
             nextLevelLocked = true;
         }*/

         string sceneName = thumbnail.name;
         container.GetComponent<Button>().onClick.AddListener(() => LoadLevel (sceneName));
      }


     int textureIndex = 0;
     Sprite[] textures = Resources.LoadAll<Sprite> ("Player");
     foreach (Sprite texture in textures)
     {
         //Sprite texture = textures[i];
         GameObject container = Instantiate(shopButtonPrefab) as GameObject;
         container.GetComponent<Image> ().sprite = texture;
         container.transform.SetParent (shopButtonContainer.transform, false);

         int index = textureIndex;
         container.GetComponent<Button> ().onClick.AddListener(() => ChangePlayerSkin(index));
         container.transform.GetChild (0).GetChild(0).GetComponent<Text>().text = costs[index].ToString ();
       
         if ((GameManager.Instance.skinAvailability & 1 << index) == 1 << index)
         {
             container.transform.GetChild (0).gameObject.SetActive(false);
         }
        textureIndex++; 
     }
 }



 private void Update()
 {
     if(cameraDesiredLookAt != null)
     {
         cameraTransform.rotation = Quaternion.Slerp(cameraTransform.rotation, cameraDesiredLookAt.rotation,
         CAMERA_TRANSITION_SPEED * Time.deltaTime);
     }
 }



 private void LoadLevel (string sceneName)
 {
     SceneManager.LoadScene (sceneName);
 }

 public void LookAtMenu(Transform menuTransform)
 {
     cameraDesiredLookAt = menuTransform;
 }

 private void ChangePlayerSkin(int index)
 {
     if ((GameManager.Instance.skinAvailability & 1 << index) == 1 << index)
     {
         float x = (index % 4) * 0.25f;
         float y = ((int)index / 4) * 0.25f;

         if (y == 0.0f)
             y = 0.75f;
         else if (y == 0.25f)
             y = 0.5f;
         else if (y == 0.50f)
             y = 0.25f;
         else if (y == 0.75f)
             y = 0f;

         playerMaterial.SetTextureOffset("_MainTex", new Vector2(x, y));
         GameManager.Instance.currentSkinIndex = index;
         GameManager.Instance.Save();
     }
     else
     {
         //you do not have the skin, do you want to buy it?
         int cost = costs[index];
         
         if(GameManager.Instance.currency >= cost)
         {
             GameManager.Instance.currency -= cost;
             GameManager.Instance.skinAvailability += 1 << index;
             GameManager.Instance.Save();
             currencyText.text = "Currency : " + GameManager.Instance.currency.ToString();
             if (shopButtonContainer.transform.childCount > 0)
             {
                 shopButtonContainer.transform.GetChild(index).GetChild(0).gameObject.SetActive(false);
             }
             ChangePlayerSkin(index);
         }
     }
 }

},I'm working on a game that will display the best time for each level underneath the thumbnail for the level. The Level Container is a prefab that instantiates at runtime. It looks like this Canvas LevelButtonPrefab Panel text(for best time)

My issue is that although it will record my best time in my registry, it does not display it in the text field in run time on the level selection screen, or in the text object itself. It will only display 0:00.

Its driving me crazy!!

Here is my code.

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

public class LevelData {

 public LevelData (string levelName)
 {
     string data = PlayerPrefs.GetString (levelName);
     if (data == "")
     {
         return;
     }
        
     

     string[] allData = data.Split ('&');
     BestTime = float.Parse (allData [0]);
     SilverTime = float.Parse (allData [1]);
     GoldTime = float.Parse (allData [2]);
 }

 public float BestTime   { set; get; }
 public float SilverTime { set; get; }
 public float GoldTime   { set; get; }

}

public class MainMenu : MonoBehaviour { private const float CAMERA_TRANSITION_SPEED = 3.0f;

 public GameObject levelButtonPrefab;
 public GameObject levelButtonContainer;
 public GameObject shopButtonPrefab;
 public GameObject shopButtonContainer;
 public Text currencyText;

 public Material playerMaterial;

 private Transform cameraTransform;
 private Transform cameraDesiredLookAt;

 //private bool nextLevelLocked = false;

 private int[] costs = {0,150,150,150,
                        300,300,300,300,
                        500,500,500,500,
                        1000,1250,1500,2000};



 private void Start()
 {
     ChangePlayerSkin(GameManager.Instance.currentSkinIndex);
     currencyText.text = "Currency : " + GameManager.Instance.currency.ToString ();
     cameraTransform = Camera.main.transform;

     Sprite[] thumbnails = Resources.LoadAll<Sprite>("Levels");
     foreach (Sprite thumbnail in thumbnails)
     {
         GameObject container = Instantiate(levelButtonPrefab) as GameObject;
         container.GetComponent<Image> ().sprite = thumbnail;
         container.transform.SetParent (levelButtonContainer.transform, false);
         LevelData level = new LevelData (thumbnail.name);
         container.transform.GetChild (0).GetChild (0).GetComponent<Text> ().text = 
             (level.BestTime != 0.0f) ? level.BestTime.ToString ("f") : "";

         //container.transform.GetChild(1).GetComponent<Image>().enabled = nextLevelLocked;
         //container.GetComponent<Button>().interactable = !nextLevelLocked;

         /*if(level.BestTime == 0.0f)
         {
             nextLevelLocked = true;
         }*/

         string sceneName = thumbnail.name;
         container.GetComponent<Button>().onClick.AddListener(() => LoadLevel (sceneName));
      }


     int textureIndex = 0;
     Sprite[] textures = Resources.LoadAll<Sprite> ("Player");
     foreach (Sprite texture in textures)
     {
         //Sprite texture = textures[i];
         GameObject container = Instantiate(shopButtonPrefab) as GameObject;
         container.GetComponent<Image> ().sprite = texture;
         container.transform.SetParent (shopButtonContainer.transform, false);

         int index = textureIndex;
         container.GetComponent<Button> ().onClick.AddListener(() => ChangePlayerSkin(index));
         container.transform.GetChild (0).GetChild(0).GetComponent<Text>().text = costs[index].ToString ();
       
         if ((GameManager.Instance.skinAvailability & 1 << index) == 1 << index)
         {
             container.transform.GetChild (0).gameObject.SetActive(false);
         }
        textureIndex++; 
     }
 }



 private void Update()
 {
     if(cameraDesiredLookAt != null)
     {
         cameraTransform.rotation = Quaternion.Slerp(cameraTransform.rotation, cameraDesiredLookAt.rotation,
         CAMERA_TRANSITION_SPEED * Time.deltaTime);
     }
 }



 private void LoadLevel (string sceneName)
 {
     SceneManager.LoadScene (sceneName);
 }

 public void LookAtMenu(Transform menuTransform)
 {
     cameraDesiredLookAt = menuTransform;
 }

 private void ChangePlayerSkin(int index)
 {
     if ((GameManager.Instance.skinAvailability & 1 << index) == 1 << index)
     {
         float x = (index % 4) * 0.25f;
         float y = ((int)index / 4) * 0.25f;

         if (y == 0.0f)
             y = 0.75f;
         else if (y == 0.25f)
             y = 0.5f;
         else if (y == 0.50f)
             y = 0.25f;
         else if (y == 0.75f)
             y = 0f;

         playerMaterial.SetTextureOffset("_MainTex", new Vector2(x, y));
         GameManager.Instance.currentSkinIndex = index;
         GameManager.Instance.Save();
     }
     else
     {
         //you do not have the skin, do you want to buy it?
         int cost = costs[index];
         
         if(GameManager.Instance.currency >= cost)
         {
             GameManager.Instance.currency -= cost;
             GameManager.Instance.skinAvailability += 1 << index;
             GameManager.Instance.Save();
             currencyText.text = "Currency : " + GameManager.Instance.currency.ToString();
             if (shopButtonContainer.transform.childCount > 0)
             {
                 shopButtonContainer.transform.GetChild(index).GetChild(0).gameObject.SetActive(false);
             }
             ChangePlayerSkin(index);
         }
     }
 }

}

Thanks for any help!!!!

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

0 Replies

· Add your reply
  • Sort: 

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

631 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

Related Questions

Most efficient way to convert string[] to int [] in C#? 2 Answers

Convert Text to float 3 Answers

Monodevelop is expecting int from my float array 3 Answers

Multiple Cars not working 1 Answer

if a string has certain letter(s) or number(s) 2 Answers


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