Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 devPhil · Jun 03, 2015 at 11:48 PM · playerprefsxmlserialize

What is the best way to save a deck of cards?

Hey,

I've come across quite a few solutions and methods to deal with this but was hoping I could get some input on the best approach for my specific situation.

I'm developing a card game with deck building. I'd like to create a "default deck" with all cards from which a player can unlock cards and then choose what cards he wants in his custom deck and save one or several decks. The cards themselves don't contain a lot of information; id, name, type, attack, defense, flavor text.

  • I'd like to avoid PlayerPrefs as I've heard it's not the best solution as it's slow and fairly inflexible.

  • I could use XML but I think for this purpose it seems a bit overkill and I also don't like the idea of having the card info so easily accessible in the game folder.

  • It doesn't have to work on web but it would be a big plus

Now, my thought was that I just hard code the cards (and their values) using a class. So when it comes to storing custom decks I can just store an array of ids to be loaded from the default deck. Would it be possible to serialize this somehow and save to disk using BinaryFormatter? What would that look like?

If I'm on the wrong track, please let me know! I'm really keen to get this aspect of the game done :)

Thanks for you help!

Cheers, Phil

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 Narv · Jun 04, 2015 at 11:46 AM

You pretty much said it yourself. Using the binaryformatter to serialize a Deck class that stores a List and the Card class is just a series of public variables.

Make sure your classes use [Serializable], and MonoBehavior can't be serialized so don't inherit from that (I haven't tested this, but I've read it somewhere else so this may have changed in Unity 5, im not sure).

then:

 Deck mydeck = new Deck(generic_list_of_cards);
 
 FileStream fs = new FileStream(filename_location, FileMode.Open);
 BinaryFormatter formatter = new BinaryFormatter();
 formatter.Serialize(fs, mydeck);
 fs.Close();

then you would do pretty much the same and do formatter.Deserailize() to get the data back out of the file.

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

21 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

Related Questions

Saving data 1 Answer

Using XML files and playerprefs together 0 Answers

Need Help Serializing/Deserializing XML 0 Answers

How to access Playerprefs xml file on Android 0 Answers

How to manually edit player prefs file on android ? 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