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 nicntj · Jul 11, 2013 at 03:09 PM · playerprefssave

Enemy saving multiple defeats

I'm making a turn based RPG and after you defeat an enemy and get experience and money, it sets you back in the overworld. I want it to be like pokemon where after you beat the enemy and you try to talk to them they say something to you, and they wont battle you again. Now that is easy if you have one of the same enemy you would do this:

 static var isDead = false;
 var battleDone = false;
 
 if(battleDone == true) {
 
       isDead = true;
 
 }

And then you would save it in the playerprefs. But what if you copy the same enemy to reuse it to save time and resources. You can't use this system because all of the scripts on all the same types of enemies are the same. It would set "isDead" to true for all of the same enemies. So how can you do this, I'm sure there's a way were you don't have to make new scripts for every enemy.

Thanks for your help!

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 markedagain · Jul 11, 2013 at 04:10 PM

why are u making isDead a static a value ?

also if u have multiple enemies and want to save them and reload them, u need to somehow pass an id to them to make them unique objects using the same script.

you can or make a public id and assign it from the inspector, or u can have a enemies list of some sorts that keeps track of id's and starting positions then all u do is save info as enemy+id in playerpref to load if they dead or not

Comment
Add comment · Show 2 · 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
avatar image nicntj · Jul 11, 2013 at 04:42 PM 0
Share

Static allows you to pass variables through other scripts is there a better way in doing this?

avatar image markedagain · Jul 11, 2013 at 04:49 PM 0
Share

yes but static also means u can only have one. make isDead public then u can reference it with

 EnemyObject.GetComponent<EnemyScript>().isDead

now you need to keep track of your enemies , for this setup a tag and you can find all enemies using

  GameObject Enemies = GameObject.FindGameObjectsWithTag("Enemy");
         
         foreach (GameObject Enemy in Enemies ) {
             Enemy.GetComponent<EnemyScript>().isDead

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

16 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

Related Questions

Playerprefs save player position 3 Answers

How can i get the following script back on track to being a single level high score saver 0 Answers

Buy skins and save which ones I have bought in one playerprefabs 1 Answer

Saving skill allocations for characters 1 Answer

Currency System Not Saving!? 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