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 hftszwai14 · Apr 10, 2019 at 12:35 PM · prefabinventoryinventory systemitem

How can I transfer the item's image in inventory UI to the next scene?,How can I keep and transfer the image of items in the inventory in different scenes?

I get stunk in this point for 3 weeks already. The situation is that it can only transfer my inventory canvas UI to the next scene without the item's image in the inventory.


I put below script in the beginning of my inventory script. The InitUI will be called when change scene.

 public static Inventory instance;
 public GameObject UIOBJ;
     
 public Text PickedUpText;
 public GameObject[] inventory = new GameObject[4];
 public Button[] InventoryButtons = new Button[4];
 
     void Awake()
         {
             if (instance == null)
             {
                 instance = this;
                 DontDestroyOnLoad(this);
                 name = "theFirstGameManager";
             }
             else if (this != instance)
             {
                 string sceneName = SceneManager.GetActiveScene().name;
                 Debug.Log("Delete the " + name + " of " + sceneName);
                 Destroy(gameObject);
             }
         }
 
     public void InitUI()
         {
             Instantiate(UIOBJ);
         }

The image of item is displayed by the below script.

 public void Update()
         {
             for (int i = 0; i < inventory.Length; i++)
             {
                 if (inventory[i] != null)
                 {
                     InventoryButtons[i].image.overrideSprite = inventory[i].GetComponent<SpriteRenderer>().sprite;
                     //Debug.Log(inventory[i].name);
                 }
     
             }
         }
 
     public void AddItem(GameObject item)
         {
             DisableText();
     
             bool itemAdded = false;
     
             //Find the first empty slot in the inventory
             for (int i = 0; i < inventory.Length; i++)
             {
                 if (inventory[i] == null)
                 {
                     inventory[i] = item;
                     InventoryButtons[i].image.overrideSprite = item.GetComponent<SpriteRenderer>().sprite;  //Update UI
     
                     // item add feedback
                     Debug.Log(item.name + " was added");
                     PickedUpText.gameObject.SetActive(true);
                     PickedUpText.text = "You have picked up a " + item.name + ".";
                     Invoke("DisableText", 1f);
                     itemAdded = true;
                     item.SendMessage("DoInteraction");
     
                     break;
                 }
             }



I turned the whole UI into prefab. And drag it into UIOBJ.

alt text

alt text

But for the Inventory Buttons part, as I cannot drag the buttons from the UI prefab, I drag the button from scene 1 hierarchy. (I think this is the problem!)

I have added DontDestroyOnLoad(this.gameObject); on my item.

As a result, the Inventory UI can transfer to the next scene, the items in inventory can transfer to the next scene, but without any item's image showing up in the inventory UI.

So what should I do? Can someone please help? I really need this for my project. Thank you.

screen-shot-2019-04-10-at-80829-pm.png (82.9 kB)
screen-shot-2019-04-10-at-82908-pm.png (42.6 kB)
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

133 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

Related Questions

Inventory AddItem help 1 Answer

[C#]Inventory script help. 3 Answers

Hey, i can't figure out, what my problem is. I want to Add something into the player's Inventory, but before that it should check, whether there is an Item with the same name in it, or not and if yes, if the maxAmount for that slot is reached. 0 Answers

How i can make a script-made button interactable? 0 Answers

How to combine items in inventory with words 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