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