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
1
Question by MantisMcKoy · May 08, 2016 at 06:36 AM · gameobjectcomponentlistscardcards

How do I add new instances of a object into a list?

I've seen similar problems but I still can't figure it out. What I'm trying to do is create a list of Cards from a non-standard deck and add them all into a deck class. This is just part of the method I'm working on for creating the deck but you should get the gist of the method.

 List<Card> cards = new List<Card>();
 public void createOriginalDeck ()
     {
         int [] cardValuesTemp = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};                        
         //Red cards
         for (int i=0; i<12; i++) {
             Card temp = new Card(ColorSuit.Red, BidAction.None, cardValuesTemp[i]);
             cards.Add(temp);

         }
 }

But I got an error about using the word new. I saw that I could get rid of the MonoBehaviour inheritance but I think I need it. So I Changed the code to

 List<Card> cards = new List<Card>();
 public GameObject deck;
 Card cardModel;
 void Awake(){
 cardModel = deck.GetComponent<Card>();
 }
 public void createOriginalDeck ()
     {
         int [] cardValuesTemp = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};
         //Red cards
         for (int i=0; i<12; i++) {
             Card temp = deck.AddComponent<Card>();
             temp.color = ColorSuit.Red;
             temp.bidAction = BidAction.None;
             temp.cardValues = cardValuesTemp[i];
             cards.Add (temp);
         }
 }

This seems to work except that I am pretty sure it isn't right. For one I never use the cardModel, but it didn't work unless I did it so I just don't understand. When I run it in unity I get the deck to appear Correctly but each clone card has around 50 components, one for every card in the deck listing its attributes (ColorSuit, BidAction, and value) instead of just one component listing its own attributes. There has to be a better method than addComponent for this right?

Comment
Add comment · Show 1
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 Oribow · May 08, 2016 at 09:58 AM 1
Share

Your Card class really shouldn't be a child of $$anonymous$$onoBehaivior. For what do you need that relation?

1 Reply

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

Answer by gRntaus · May 08, 2016 at 02:09 PM

The MonoBehaviour is only useful if you need to attach that script to a GameObject at any point, otherwise it might as well just be a normal class without the MonoBehaviour inheritance.

If you know that you need to add the script to a GameObject at some point (or it is already attached to one) then you need to instead use Card card = GameObject.Instantiate(yourCardPrefab);.

More info on Instantiate can be found here

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers

Can I move a component from one GameObject to another in script? 1 Answer

Actions in a 2D Card Game 1 Answer

How to Check if a component Exists on a Gameobject. 3 Answers

Storing component of instance in an array 2 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