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 EddieHittler · Apr 02, 2015 at 07:44 AM · c#spawnbool

Setting a bool is not working with objects that have already spawned..

Hi. I'll try and explain the best I can so bear with me. I have a cube prefab that spawns and I have it set so that its destroyed on mouse click and when the public bool red is true(which is set to false on the cube script). I have a button that accesses that bool and sets it to true, basically so the object can only be destroyed after clicking the button.

Everything works, as in the button sets the bool red to true but it doesn't let me destroy the existing spawned cubes, only cubes spawned after the button click.

Here's the code for the Cube prefab.

 using UnityEngine;
 using System.Collections;
 
 public class CubeRed : MonoBehaviour 
 {
 
 public float makeSmaller;
 public bool isHit = true;
 public bool red = false;
 
 private int clickCount = 0;
 
 void Update ()
     {
         if (Input.GetMouseButtonDown(0)&& red == true) 
         {
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
             RaycastHit hit;
 
             if(Physics.Raycast(ray,out hit))
             {
                 isHit = false;
 
                 if(hit.collider.gameObject==gameObject) 
                 {
                     // Sets the size of the cube when clicked.
                     transform.localScale += new Vector3(-makeSmaller, -makeSmaller, -makeSmaller);
                     // Adds to the clickCount Var
                     clickCount += 1;
 
                     // Sets the limit of the clickCount Var before destroying the object. 
                     if (clickCount == 3)
                     {
                         Destroy(gameObject);
                     }
                 }            
             }
         }
     }
 }
 


The code for the Button

 using UnityEngine;
 using System.Collections;
 
 public class CodeRed : MonoBehaviour 
 {
     public GameObject CubeRed;
     public bool isHit = true;
 
     // Update is called once per frame
     void Update () 
     {
         if (Input.GetMouseButtonDown(0)) 
         {
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
             RaycastHit hit;
             
             if(Physics.Raycast(ray,out hit))
             {
                 isHit = false;
                 
                 if(hit.collider.gameObject==gameObject) 
                 {
                     CubeRed.GetComponent<CubeRed>().red = true;
                 }            
             }
         }
     }
 }
 

Again im quite new to unity and coding in general so any other pointers would be greatly appreciated.

Thanks in adavance

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 NoseKills · Apr 02, 2015 at 07:53 AM

What is public GameObject CubeRed; ? Is it the same Prefab you are using to instantiate the spawning cube(s)? If you instantiate a new Cube from it, the cloned cube is in no way magically connected to the original CubeRed , so setting red on the original Cube doesn't change anything on the clone(s) afterwards. On the other hand if you change the original Cube (press the button first) and then instantiate, the clones will have the changed settings.

It would make more sense to check the button's state when destroying each cube. Or else you have to loop through all created cubes and set red to true on each when you press the buttton.

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

JS to C# converting issues.. 1 Answer

How to Spawn objects at a certain score. 1 Answer

How to give a speed to random spawned object? 1 Answer

Respawn destroyed object 1 Answer

Trigger...Spawn...Destroy 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