- Home /
How to activate a script on multiple objects, but only on that object
So I am making a game that has multiple objects that have the same script. How do I have only one of those activate one at a time instead of activating them all at once? Right now I have, RaycastHit hit;
if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, range))
{
if (hit.transform.tag == "door")
{
crosshair.enabled = false;
doorPanel.SetActive(true);
}
if (Input.GetKey("e"))
{
if (hit.transform.GetComponent<doorHandler>() != null)
{
hit.transform.GetComponent<doorHandler>().Clean();
}
}
else if(Input.GetKeyUp("e"))
{
Debug.Log("e is up");
Debug.Log("Disabling Slider");
hit.transform.GetComponent<doorHandler>().cleanSliderGO.SetActive(false);
}
}
else
{
doorPanel.SetActive(false);
crosshair.enabled = true;
}
}
what this ends up doing is activating the doorHandler script on every door instead of just the one that I'm looking at. How do I only activate the script of the one that I'm looking at? A real issue that this causes, is that I have text that is affected based on the clean() script. Even when I move from door to door, the text doesn't change until I activate the script by pressing E. Please help!
Answer by tormentoarmagedoom · Jun 19, 2018 at 07:38 AM
Good day.
Whats the problem with your code below? does the code enters in all "if" when is necessary? or whichones doesnt enter?
at the firstone, when you say:
crosshair.enabled = false;
doorPanel.SetActive(true);
How the code knows what doorPanel mus activate? maybe you forget to make the relation hit-doorpanel?
Give more info of what you have what you get what you don't and what it was suposed to be...
Thanks and bye!
Your answer
![](https://koobas.hobune.stream/wayback/20220612165033im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Raycast consuming too much ! (VR) 2 Answers
in rewarded ad which code means user closed the ad by itself 2 Answers
Bullethole doesn't instantiate 1 Answer
Using Ray cast for click to move 2 Answers