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 gotenz · Jun 03, 2018 at 05:30 PM · c#gameobjectlist

Get first gameobject in a list and cycle through on keypress

Hi. I am trying to make an inventory in which the player can cycle through the inventory with a keypress. Right now, the current item that has been picked up by the player would be shown on the text. However, I want the player to be able to cycle through the previous items that he have picked up.

 public KeyCode PickupButton;
 public Text Players_Inventory;
 public List<GameObject> Items = new List<GameObject>();
 
 void Update ()
     {
         Input.GetKeyDown(PickupButton);
       
     }
     void OnTriggerStay(Collider other)
     {
         Debug.Log("Collision");
         if (other.gameObject.tag == "Player" && Input.GetKeyDown(PickupButton))
         {
             Debug.Log("Button is pressed");
 
             Items.Add(gameObject);
             Destroy(gameObject);
 
             Debug.Log("GameObject is destroyed");
 
             Players_Inventory.text = "Items: " + (gameObject);
         }
     }

How do I cycle through a list of gameobject?

Comment
Add comment · Show 3
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 Tobychappell · Jun 03, 2018 at 06:28 PM 0
Share

On a side note, when you inspect the Items list, are all the elements null/empty?

avatar image gotenz Tobychappell · Jun 04, 2018 at 07:48 AM 0
Share

The object is added to the list but it is showing missing gameobject. So while the element of the list is increasing, it is showing as empty gameobject. Currently. I am using gameobject.setActive(false) as a alternative so I am still able to access the list.

avatar image Harinezumi · Jun 04, 2018 at 09:02 AM 0
Share

What is this script attached to? You add gameObject to Items, but gameObject refers to the game object to which the script is attached. I think you meant to use other.gameObject.
$$anonymous$$oreover, you immediately Destroy() gameObject, so of course you will get "missing game object" - it has just been destroyed.
If this is a script for an inventory, then you want to add a data object to the list of items based on what kind of object the player picks up. Then you can destroy the item, which you can get from other.gameObject. But possibly you don't need to do that, it all depends on your setup.

1 Reply

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by MT369MT · Jun 03, 2018 at 07:36 PM

Hi, I don’t understand how your script works... is this script attached to your items to pick up? And why are you destroying your object BEFORE you do: Players_Inventory... If you destroy the object the following lines will never be executed.

Anyway if you want to cycle throught an object list you can do something like this:

 public List<GameObject> Items = new List<GameObject>();
 public GameObject CurrentItemObject;
 public int CurrentItemInt;
 
 void Update()
 {
 if (Input.GetKeyDown(“right”)
 {
 CurrentItemInt += 1;
 }
 if (Input.GetKeyDown(“left”)
 {
 CurrentItemInt -= 1;
 }
 if (CurrentItemInt >= Items.Count)
 {
 CurrentItemInt = 0;
 }
 if (CurrentItemInt < 0)
 {
 CurrentItemInt = Items.Count - 1;
 }
 CurrentItemObject = Items[CurrentItemInt];
 }
Comment
Add comment · Show 2 · 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 gotenz · Jun 04, 2018 at 09:10 AM 0
Share

Yes. The script is attached to my item. Originally, it is attached to the player but it is not very smart of me to do so. I managed to get it to work. But I can't seems to change the displayed text according to the current Item.

  CurrentItemobject = Items[0];
  CurrentItemobject = Items[CurrentItem];

This is my current script. In the inspector, I can see that I am able to swap between the items that I've added to the list previously. However, the text that is displayed remains the same.

avatar image MT369MT · Jun 04, 2018 at 06:03 PM 0
Share

Change your Text script so:

 Players_Inventory.text = "Items: " + CurrentItemObject;

If it doesn’t work send the complete script that you have now so I understand better.

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

520 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

Related Questions

Add and destroy instantiated gameobject in linkedlist C# 1 Answer

A couple of questions about my GameManager 1 Answer

How to put gameObjects to the list? 4 Answers

cant get characters to load 1 Answer

Change sprite color on GameObjects from a list. 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