Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 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 /
  • Help Room /
avatar image
0
Question by hillsy7 · Nov 09, 2016 at 02:19 PM · uistatic variablesmultiple instaces

Start behavior only working when one instance of UI in scene

Hi there,

I know I'm doing something obviously wrong but I can't seem to find the right words to search for.....so apologies for the n00bism.

I have a class with a simple start function that takes the text in a UI object I created and checks a static array in the Game Data object to pull some additional info.

      void Start(){
          UpgradeTitle = this.transform.FindChild("UpgradeTitle").GetComponent<Text>();
  
  Debug.Log (UpgradeTitle.text);
          for (int x = 0;x < GameConstants.DataList.Length;x++){
               if(UpgradeTitle.text == GameConstants.DataList[x].UpgradeName){
                  ArrayValue = x;
                  x = GameConstants.DataList.Length;
              }
          }
  Debug.Log (ArrayValue);

Now - when I run this for a single instance of the object (Where I've overwritten the text in the UpgradeTitle UI text box with "Inventory") it works fine. my Debug Reads

  Inventory
  2

OK.....seems like I've got it working. I now duplicate the object (It's still not connected to a Prefab) and change the text in UpgradeTitle to "Replenish".

The Debug runs the same for the first GameObject (Upgrade1). Excellent! However, for the other gameObject (Upgrade2) the first Debug fires OK and it returns "Replenish". However, I now get an error message saying Object reference not set to an instance of an object (referencing the if function) and the second Debug doesn't fire.

Neither UpgradeTitle nor ArrayValue value are public objects....

Why will it work for the first object but not the second? What am I doing wrong?

Comment
Add comment · Show 2
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 NoseKills · Nov 09, 2016 at 05:32 PM 0
Share

$$anonymous$$aybe GameConstants.DataList has a null item in one of its indexes?

If the null is in the array after the 'inventory' object, only the second object will break because the first object exits the loop before trying to check the`UpgradeName` of a null item.

P.S. you can use the break; keyword to exit any loop ins$$anonymous$$d of doing something to satisfy the its exit condition like you do now.

avatar image hillsy7 NoseKills · Nov 09, 2016 at 07:00 PM 0
Share

Hey Nose$$anonymous$$ills - thanks for the reply....

Using break worked!!!!!!!!

So for future learning: How come even though the UpgradeController script I posted above is attached to 2 seperate UI Objects and has no static properties, does it seem to be sharing the value of 'x' in the for loop, even though there doesn't seem to be a way for the two scripts to talk to each other (both of the UI elements are broken from any prefabs)? Is this something unique to the Canvas Object?

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

106 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

Related Questions

how to make content fit a UI panel 0 Answers

detect any UI action 1 Answer

Dynamic Menu C# 0 Answers

i cant put text into a ui text thru a c# script 0 Answers

Is it wise to make a game with UI instead of regular GameObjects? 0 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