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 Thereddic · Nov 12, 2014 at 08:24 AM · functionint

Setting variables in one script from another.

Hi, I am building an inventory system and need some help.

I have two scripts I am working with. The first script contains a function that receives an int variable, then searches through an array in order to find the object that has a component that matches the variable. The function will then toggle a boolean in that object. That function is thus

 public void foundItem(int symbolNum){
         //Iterates through all the clue items based off the length of images there are
         //If the itemNum = images[ itemNum - 1] you have found the item
         //Set the item that you have found to isFound = true
         //Set the newly found item image to a visible transpency
         print ("Looking for item# "+symbolNum);
         //If the clue value is the same as symbol value, proceed
         GameObject[] clueSymbolGOs = GameObject.FindGameObjectsWithTag("ClueSymbol");
         //We are now looking for the clueItem i that matches s (symbol number)
         foreach(GameObject clue in clueSymbolGOs){
             if(clue.GetComponent<ClueBehaviour>().getClueSymbol() == symbolNum){
                 print ("Found clue symbol game object # "+ symbolNum);
                 //clue.GetComponent<GUITexture>().texture = symbolHolder;
                 //this.gameObject.GetComponent<GUITexture> ().texture = images[itemNum];
                 clue.GetComponent<ClueBehaviour>().isFound = true;
                 clue.GetComponent<GUITexture>().color = new Color(1f, 1f, 1f, 1f);
             }
         }
     
     }

I have a second script that, upon being triggered, is supposed to define the int in the function (symbolNum). I have been trying to find a way to get this to work, but have been unsuccessful. My current attempt looks like this

 public class CluePickup : MonoBehaviour {
     public GameObject Symbolmatch;
     // Use this for initialization
     void Start () {
     
     }
 
     void OnTriggerStay2D() {
         if (Input.GetMouseButtonDown (0)) {
             Symbolmatch = (GetComponent<ClueBehaviour>().foundItem(2));
             Destroy (this.gameObject);
         }
     }
     // Update is called once per frame
     void Update () {
     
     }
 }

My only clue as to why this is not working is that I am getting a compile error stating "CluePickup(the second script)(16,25) cannot implicitly convert type 'void' to 'UnityEngine.GameObject'" I am not sure how to make this work. Can anybody help me?

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
0

Answer by LukaKotar · Nov 12, 2014 at 08:20 AM

What is Symbolmatch supposed to do? If you don't use the variable elsewhere in code, you can just get rid of it, and simply do:

 GetComponent<ClueBehaviour>().foundItem(2);

The foundItem() function returns void, not GameObject, which is why you are getting the error.

Comment
Add comment · 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

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Unity Crash on Function Run 2 Answers

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

How to call function from another script on an instantiated Prefab? 2 Answers

DontDestroyOnLoad does not work after reload the scene? 1 Answer

UI system multiple ints as function arguments 4 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