• 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 AwesomeFaceHD · Jul 07, 2014 at 08:56 PM · c#listlistsargumentexception

Error when transferring items from one list to another

I have an inventory and chest system setup and it works pretty good for the most part. When I click an item in the chest it goes to my inventory, and vice versa. But if the chest has more items than my inventory, then I get an "argument is out of range" error and I can't figure out why.

Here's a piece of it

 for(int a = 0;a < GameItems.Count;a++) { 
     if(GUILayout.Button(GameItems[a].name)) {
         ChestItems.Add(GameItems[a]);
         GameItems.Remove(GameItems[a]);
     }
 }

My Whole Scripts:

Chest

Inventory

Items

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 gjf · Jul 08, 2014 at 09:36 AM 0
Share

what is the EXACT error?

avatar image AwesomeFaceHD · Jul 09, 2014 at 12:26 AM 0
Share

@gjf "ArgumentOutOfRangeException: Argument is out of range. Parameter name: index"

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by MarioAGOrdiano · Jul 07, 2014 at 10:30 PM

On the for loop after this one you write:

 for(int a = 0;a < ChestItems.Count;a++) {
                         if(GUILayout.Button(GameItems[a].name)) {
                             GameItems.Add(ChestItems[a]);
                             ChestItems.Remove(ChestItems[a]);
                         }
 

so if ChestItems.Count us bigger than the count of GameItems when you check the name It'll return an index out of range exception.

I might be wrong but shouldn't the second loop check ChestItems for the name?

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

22 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

Related Questions

How to initialize lists with set number of null elements? 1 Answer

Make Lists within a List 0 Answers

Why the List in the class when using it is not the same in another class ? 1 Answer

List not adding 1 Answer

Grab a specific item from a list 3 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges