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 Nucl3ear · Feb 06, 2018 at 06:18 PM · c#scripting problemgameobjectbeginnersetactive

How to reactivate items ?

Hey there ! Okay so my player can pickup some items called "Pickup", "Pickup (1)", etc. to "Pickup (4)". If he touch one of these I set the gameobject on false and count it. But if my player die I want to put back these items into the game. Here's my code.

 public void ResetMap() {
         GameObject[] array = new GameObject[5];
         array = GameObject.FindGameObjectsWithTag ("PickUp");
         foreach (GameObject pick in array) {
             pick.SetActive (true);
         }

And it doesn't work.. I don't really know how to do, a bit of help please ? Please note that my pickups are childs of a "Pickups" GameObject that is empty and untagged.

Have a nice end of day !

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

4 Replies

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

Answer by yummy81 · Feb 06, 2018 at 06:54 PM

FindGameObjectsWithTag returns only those GameObjects which are active. It doesn't return inactive ones. The reason why you cannot make your pickups active anew is that the "array" variable is empty. One way to solve this problem would be to make the "array" variable of GameObjects global and fill it with GameObjects in Awake method (assuming of course that all pickup objects are active at the start of the game):

 private GameObject[] array;
 
 private void Awake()
 {
     array = GameObject.FindGameObjectsWithTag("PickUp");
 }
 
 private void ResetMap()
 {
     foreach (GameObject pick in array)
     {
         pick.SetActive(true);
     }
 }
 
 
 
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
avatar image
2

Answer by Hurri04 · Feb 06, 2018 at 06:46 PM

I think the problem is that the FindGameObjectsWithTag method doesnt return inactive GameObjects.

What you could do is add the PickUps to a List just before they get deactivated, then iterate over that list when you want to reactivate them. clear the list afterwards.

Comment
Add comment · Show 1 · 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 PersianKiller · Feb 06, 2018 at 06:59 PM 0
Share

yes you're right.I forgot that we cannot find an object that is inactive

  using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;

  public class test : $$anonymous$$onoBehaviour {
 public   List<GameObject> objects;
 public int counter;
 void Start () {
 
     StoreObjcets();
 }
 void StoreObjcets(){
       GameObject[] gameObjects = GameObject.FindGameObjectsWithTag ("Ground");
         for(var i = 0 ; i < gameObjects.Length ; )
         {
         objects.Add (gameObjects [i]);
         gameObjects [i].SetActive (false);
         i++;
         counter++;
         }
     }
 
 public void activeObjcets(){

     for(int a=0;a<counter;){

         objects [a].SetActive (true);

         a++;
     }
 }

  }


just like this @Nucl3ear ,put objects in a list then deactive them. :))

avatar image
1

Answer by josh15 · Feb 06, 2018 at 06:52 PM

 // make any script and attach for the gameObject do you want to control with it 
 //and this script 
     "  here the nameof script" [] pickups = ("here the nameof script"[])FindObjectsOfType(typeof("here the nameof script" )) ;
 
 
             foreach ("here the nameof script "pickup   in pickups)
             {
                 pickup.gameObject.SetActive( false);
             }
     
     //
     
             foreach ("here the nameof script "pickup   in pickups)
             {
                 pickup.gameObject.SetActive( false);
             }
 


i hope its 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
avatar image
0

Answer by Nucl3ear · Feb 06, 2018 at 07:16 PM

Many thanks to everyone who answered me ! I'll try this right now but I think it will work ! I'll accept an answer when done ! ;)

EDIT : Okay so it works perfectly for the first level, but then I change scene (with the same player game object, that is kept throught levels), the references of objects doesn't update... I know that's kind of another problem, but I already had this kind of issues before and nobody answered :/ I tried to re-use the line

 array = GameObject.FindGameObjectsWithTag ("PickUp");

But it seems like the array isn't updating.. Any idea ?

Many thanks !

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 Bonfire-Boy · Feb 06, 2018 at 07:58 PM 0
Share

That line should refresh the array, but where have you put it? It needs to be called again once the new scene has loaded. See eg the answer to this question for more: https://answers.unity.com/questions/1295851/event-when-the-scene-is-loaded.html

avatar image Nucl3ear · Feb 06, 2018 at 08:00 PM 0
Share

$$anonymous$$any thanks I'll swarch that way and close this topic.

Thanks to everyone ! :D You rock guys !

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

477 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

how to change a GameObject from another script 1 Answer

Panel GameObject not activating 0 Answers

Panel GameObject not activating when called from another script 1 Answer

How to detect an object which be in FOV of certain camera ? 1 Answer

Changing TPP view to a FPP view after picking up object 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