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 Raja-Unity · Jul 29, 2016 at 06:58 PM · scripting problemscript.componentactivelives

Make Script Component Do Things Even When Game Is Closed

I want to add a lives system like candy crush in my game. I want to use an InvokeRepeating() function to add lives to an int called lives every second, but when the game is off it can't add lives because the game object is destroyed.

Is there any way to make a script or game object active even when the game is off? If there is no way to do this, I might put something like this in feedback.

I have not made my script yet but this is what it my script might look like:

 using UnityEngine;
 using System.Collections;
 
 public class LivesManager : MonoBehaviour {
     
     void addLife () {
         PlayerPrefs.SetInt("Lives", Playerprefs.GetInt("Lives") + 1);
     }
     
     void Start () {
         PlayerPrefs.SetInt("Lives", 0);
         InvokeRepeating("addLife", 1, 1);
     }
 }
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 DogF · Aug 01, 2016 at 05:43 PM 0
Share

I agree with you two. When you joined the game. You compute the offline time and refresh the num. Then you start your InvokeRepeating("addLife", 1, 1) . It's O$$anonymous$$/

2 Replies

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

Answer by Hellium · Jul 29, 2016 at 08:35 PM

Do you realize what you are asking ? It's like asking your car to continue to go while it is "turned off".

  1. Save the date when the game is "paused" or quitted using OnApplicationFocus

  2. Compute the duration the game has been turned off

  3. Compute the lives to add to your counter depending on the previous duration

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 Raja-Unity · Jul 31, 2016 at 09:44 PM 0
Share

If I do that, it will add lives when a game is off, but it won't add lives when the game is on. Do you know if there is any way to do it even when the game is on.

avatar image Bunny83 Raja-Unity · Aug 01, 2016 at 12:26 AM 0
Share

Uhm, what's the problem when you use both things at the same time?

avatar image Bunny83 Raja-Unity · Aug 01, 2016 at 08:53 AM 0
Share

Take a look at my example over here. It does implement exactly the behaviour of candy crush. However it's written in UnityScript since the OP of the other question used UnityScript.

avatar image
0

Answer by PCSorcery10 · Aug 01, 2016 at 04:04 AM

Try using a method called Awake(). Might not be exactly what you are looking for, but hopefully it will work.

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

8 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

SetActive() not working 0 Answers

CS0101:namespace '' already contains a definition for script 'AutoMoney' a message that pops up and i dont know what to do 1 Answer

I can't use Rigidbody2D in my scripts, I can't find rigidbody2d in my script 3 Answers

How can I set position of a GUI.Button in Inspector ? 0 Answers

How can I rule out object rotation only twice in a row on same direction ? 0 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