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 sick4paradise · Jul 20, 2011 at 10:35 AM · inventorymethoditeminvokeuse

Invoking Effects of (Random) Items (C#)

Scenario that I'm trying to create: at the start of a game, the player receives a couple random items from a list of possible items. There is going to be an inventory screen with which to access them, but because the items are going to have completely different effects when used, is there an easy way to call an individual method for the used item without creating absurd levels of clutter in the script?

The idea I'm currently working with is using an array to store integers, each corresponding to a possible item. At the start of the game, it will draw 2 random values, and somehow store them in the inventory (possibly a list, or another array). When an item is used, it will then (somehow) call an appropriate function. The problem is, I'm not exactly sure what the best way to do that would be.

Would I have to create a specific 'itemUse' script to put on the player object with a method named after each item and then have the inventory call that method on use? I apologize for the very ignorant question, but I've only been working with C# for a few days, and am pretty stumped about where to start. Most inventory tutorials I've found are more about the interface, and less about the actual mechanics of using (/calling) an item's effect.

This idea just occurred to me as well: what about using a hashtable to store a number and name of an item (for randomly drawing). When the item is added to the inventory (maybe a gameObject, but of generic class 'item'), it sets the name of that object to the name taken from the hashtable. Then, on use, it would execute a method matching its name within the Item class? I think I may be over (or under) thinking this.

Also, I'm planning on there being several types of items (ie, fruit, tools, books, etc.) that all behave differently than each other. Would I need to use multiple arrays in order to accommodate that?

So yeah, I'd love to here some advice from people who aren't stupid like I am.

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

2 People are following this question.

avatar image avatar image

Related Questions

Best approach in making Inventory UseItem functionality. 1 Answer

Help making premade Items for farming game 2 Answers

Problem with dropping items from my inventory 0 Answers

A question about creating items using scriptable objects 1 Answer

Managing Item Types 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