Using One Script for Two Separate Parent GameObjects Failing
First, I created 2 circles, then I wrote 2 scripts - one for re-instantiate when radius is 0, and another one for narrowing circles down (decreasing radius) .
I structured it like :
MainParent
- OuterCircle (instantiate & narrow)
- - Circle (draw circle)
- InnerCircle (instantiate & narrow)
- - Circle (draw circle)
Please note that these change (outer becomes inner, inner becomes outer continously)..
Instantiating is working fine and it keeps adding new Circle on each parent as well as destroying the previous one. However I have problem on the narrow script. If I deselect OuterCircle in the Inspector, everything works expected (spawns new and reduces radius). Vice versa - turning off InnerCircle - also works fine. However, if I have both at the same time, it destroys the circle, instantiates another one (fine until now), but doesn't narrow it down until the other one gets spawned.
public BuildCircleMesh circleScript;
void Start () {
circleScript = gameObject.GetComponentInChildren<BuildCircleMesh> ();
}
void Update () {
if (circleScript == null) {
circleScript = GameObject.Find("GameCircle").GetComponentInChildren<BuildCircleMesh>();
}
circleScript.innerRadius = circleScript.innerRadius - 5 * Time.deltaTime;
}
I have an idea what might be the problem. I thought if I have one script and have it in 2 different gameObjects, they work independently (please correct me if I'm wrong) but apparently, it fills the circleScript
variable once and it doesn't initialise the narrowing process until the other parent's circle gets destroyed.
I have been trying to find a solution but I couldn't figure out what I am doing wrong. I'd be happy for any kind of help
Your answer
Follow this Question
Related Questions
Problem with destroying a gameobject 2 Answers
Prefab destroyed upon instantiation 0 Answers
How to destroy on exiting PlayMode/EditMode? 1 Answer
I need help about Basic Basketball Game 0 Answers