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 Ozale · Jul 10, 2011 at 01:23 PM · dontdestroyonload

Preventing variable from resetting when level loads

I've created a game with 5 levels, and each level contains objects that the player picks up and delivers to a certain location. I already have a score system that uses DontDestroyOnLoad (transform.gameObject); to keep the score in the next scene.

My problem is this: I've created a 'quota'system that keeps track of how many objects the player has left to gather to complete the level. This works fine currently, at least for gathering the items and progressing to the next level. When the player dies, however, the level resets (using Application.LoadLevel (Application.loadedLevelName);), but the 'quota'for the level is reset. Initially I tried making it a regular var : int, so it could be edited in the inspector, and passing this to a static var that could be accessed by the player's object. When I discovered the restarting issue, I tried simply hard-declaring it to no avail.

Can anybody see what I'm doing wrong here?

Here's the code attached to a GuiText (that displays the quota): static var bottleQuota : int;

 function Awake () {
     DontDestroyOnLoad (transform.gameObject);
     bottleQuota = 5;
 }
   
 function OnGUI() {
         guiText.text = "Bottles to collect : " + bottleQuota;
 }

...and here is the relevant code attached to the player character:

 bottleQuotaCounter.bottleQuota -= cargo;

Cheers,

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 DavidDebnar · Jul 10, 2011 at 01:50 PM

PlayerPrefs

  • David

Comment
Add comment · Show 3 · 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 Ozale · Jul 10, 2011 at 11:09 PM 0
Share

If I use PlayerPrefs, I'll still need to 'set' the 'quota' per level, and when the level reloads it will run that 'setting' code again, which will make this solution useless, yes?

avatar image _Petroz · Jul 11, 2011 at 12:55 AM 1
Share

Write when ending level, read when starting level.

avatar image Ozale · Jul 11, 2011 at 01:03 AM 0
Share

Yeah that occurred to me this morning. I'll test it this evening.

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

How to link words from different scene 1 Answer

AnimationEvent.objectReferenceParameter being nulled and giving dontDestroyOnLoad issues 0 Answers

Is OnLevelWasLoaded supposed to be called twice when using DontDestroyOnLoad? 3 Answers

DontDestroyOnLoad does not work after reload the scene? 1 Answer

returning to scene & keeping the Camera 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