• 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 Optimus_L · Mar 04, 2012 at 01:37 PM · arrays

Managing 100's of cards.

I've learnt Unity basics, and have done quite a few tutorials and am now looking to start my first solo project. Based on a 'match 2' game found in the Unity Blueprints book I want to expand on the idea and create a Magic: The Gathering type game. Each card will have a prefab with the necessary texture applied to it, and a script to set the card variables such as mana cost, type, ability and so on.

Right now, the scripts I plan to use are:

1) A script on each prefab to contain card variables, such as Mana cost, type, ability and so on. 2) 1 on an empty gameobject to dictate game flow. Turns, phases etc. This script will also handle player input, shuffle the deck and control card drawing. So it needs to pull information from each prefab to get the cards variables. It will also need to create multiple versions of the same prefab.

I don't want people to write the scripts for me, however I would like some advice on the best way to handle this. Is this even the best way to do it?

Should I create a script that creates all the cards information and variables, and then applies the necessary prefab to that card when its needed in game?

I hope I've made myself clear enough, as I just need some advice on the best way to achieve this.

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Sarus · Mar 06, 2012 at 02:27 PM

My suggestion would be to separate the card information from your scripts. Store the card information in a config file (could be plain text, JSON, xml etc.). When you start up the game load all the card data into CardManager class. The CardManager class would act like an object factory where you would call a method like

    Card card = CardManager.createCard("name of the card");

This way if you want to change the card values while balancing the game you don't have to worry about messing around with your scripts. Depending on how complicated your card actions are your config file could be as simple as storing values (attack, defense, mana, cardName, cardDescription etc.) or as complicated as storing some sort of basic instruction set for how the card interacts with the game.

Creating some kind of GameManager class that manages player turns and other global game information sounds like a good idea to me.

Good Luck!

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Getting C# to access a javascript global Array and Components 1 Answer

How would I call upon an asset in the projects tab with an array? 1 Answer

adding classes to arrays 2 Answers

Array of variable-length arrays (JS) 1 Answer

Converting a JS script into C# - hit a wall with arrays... 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